javascript - 带有 ES2015 babel 预设的 Marionette 不起作用

标签 javascript marionette babeljs ecmascript-6

我正在使用带有 babel-loader 的 Webpack,预设了 es2015,并且我看到了这个问题:当包含 Marionette (v.2.4.3) es2015 预设更改时/lib/core/backbone.marionette.js:26 中的这个 参数改为 undefined 而不是 this。但是这个参数采用 root 变量( line 10 ),他看到什么参数是 undefined (不是 this )并输出错误。

我明白了,es2015中的预设包括babel-plugin-transform-es2015-modules-commonjs,什么包括babel-plugin-transform-strict- mode,响应严格模式并关闭 es6 模块。

我尝试修改 es2015 插件,将 require("babel-plugin-transform-es2015-modules-commonjs") 更改为 [require("babel -plugin-transform-es2015-modules-commonjs"), {"strict": false}],但这一步并不能帮助我解决问题。

谁知道,这个问题是 Marionette 的问题,或者是 babel-loader 中预设的 es2015 的问题,或者是我的问题,以及如何修复它?

最佳答案

我解决了我的问题。我的解决方案是允许在 module-commonjs 中进行顶级操作。

在 babel-preset-es2015 中将 require("babel-plugin-transform-es2015-modules-commonjs") 更改为 [require("babel-插件-transform-es2015-modules-commonjs"), {allowTopLevelThis: true }]

关于javascript - 带有 ES2015 babel 预设的 Marionette 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34436359/

相关文章:

ios - 警告 - 未知调用 : "relay:check" in react-native iOS app

javascript - 不要触发 form.$invalid 在第一次加载时

JavaScript - 我正在读取 json 文件并尝试读取某个键的值

javascript - marionette.js 与 Backbone 更新 DOM

javascript - this.$el 和 jQuery

marionette - backbone.js 中的 Collection View 和复合 View

javascript - 当我在 nextjs 上使用 babel 别名时出现 Eslint 错误

javascript - Babel 代码抛出超出最大调用堆栈大小

JavaScript 属性访问 : dot notation vs. 括号?

javascript - ExtJs 将工具提示添加到水平滚动控件选项卡面板