ruby-on-rails - Rails Webpacker SCRIPT5009:'app' 未定义 - IE11 问题
问题描述
由于某种原因,我的大部分 JS 在 IE11 及更低版本中工作都失败了。Chrome、Firefox 和 Edge 没有问题。
我在 application.html.slim 文件中有:
meta http-equiv='X-UA-Compatible" content="IE=edge'
我发现了这个:github webpacker线程
所以我在我的 config > webpack > production.js 中尝试了以下操作:
if (environment.plugins.getIndex('UglifyJs') !== -1) {
const plugin = environment.plugins.get('UglifyJs');
plugin.options.uglifyOptions.ecma = 5;
}
environment.config.optimization.minimizer[0].options.uglifyOptions.ecma = undefined
environment.plugins.get("UglifyJs").options.uglifyOptions.ecma = 5
这些都没有奏效。在控制台中我得到:
SCRIPT5009:“应用程序”未定义
在我的主页上,我进行了设置:
= content_for :head do
= stylesheet_pack_tag 'styles/home'
= javascript_pack_tag 'home'
= javascript_include_tag "//maps.googleapis.com/maps/api/js?key=#{ENV['MAP_KEY']}"
= content_for :body do
.container
.row
#map-banner.banner[type"hidden" data-location=all_locations.to_json]
=render template: '/layouts/application'
javascript:
document.addEventListener('DOMContentLoaded', app.home);
然后在我的 javascript > packs > home.js
import { mapStyle } from './styles/mapStyle';
app.home = () => {
function init() {
setupSlider();
homeSlider();
startGoogleMap();
let tabs = document.querySelectorAll('a.tab');
for (let tab of tabs) {
tab.addEventListener('click', tabClicked);
}
document
.querySelector('#region-select_')
.addEventListener('change', selectClicked);
}
return init();
};
当前版本:
- 网络包 3.12.0
- 导轨 5.2.2
- 纱线 1.17.3
- 引导程序 4.3.1
当我在 tiny-slider.js 上签入网络时,它返回的状态码为 304,但在 Chrome 中返回的是 200。知道为什么它不编译吗?
解决方案
将其留在这里以防有人发现它有用。更新了 config > webpack > environment.js:
environment.loaders.get('babel').exclude = [];
推荐阅读
- python - 获取 Slack 中所有公共和私人频道的列表
- javascript - JSON 类型 NSMutableDictionary 不能转换为 .sdp 不能为空
- laravel - Laravel 测试假事件
- apache-flink - Flink SQL:使用登录数据实时计算新用户数
- asp.net-core - 如何在 asp.net 核心中检查我的 Cassandra 数据库连接字符串?
- html - 使用 CSS 在 NAV 元素内选择 LI
- python - 无法在 python 中的 selenium 中找到元素
- android - 如何在android studio中创建半重叠图像到cardview
- spring-boot - Feign Retry:没有找到能够从 [java.lang.String] 类型转换为 [java.lang.Class] 类型的转换器
] - c# - 在 ASP.NET MVC 方法中创建一个具有以下功能的应用程序: