Marionette ES2015 babel 预设不工作

Marionette with ES2015 babel preset dont work

我正在使用带有 babel-loader 的 Webpack,预设 es2015,我看到这个问题:当包含 Marionette (v.2.4.3) es2015 预设更改时this agrument in /lib/core/backbone.marionette.js:26 to undefined instead this. But this argument take root variable (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 或我的这个问题,如何解决?

我解决了我的问题。我的解决方案是在 modules-commonjs 中允许顶层。

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