Mar*_*vic 7 javascript underscore.js ecmascript-6 webpack
我试图重写使用require.js使用es6导入的旧应用程序.其中一个使用的库是Backbone和Underscore.要创建一个大包并将es6预编译到es5,我使用带有babel-loader的Webpack.Bundle被创建,但当我在浏览器中加载它时,我收到以下错误:
Uncaught TypeError: Cannot read property '_' of undefined
Run Code Online (Sandbox Code Playgroud)
看起来Underscore中的'this'在创建的bundle.js中是未定义的,所以root._给了我错误.
// Baseline setup
// --------------
// Establish the root object, `window` in the browser, or `global` on the server.
var root = this;
// Save the previous value of the `_` variable.
var previousUnderscore = root._;
// Establish the object that gets returned to break out of a loop iteration.
var breaker = {}
Run Code Online (Sandbox Code Playgroud)
有谁遇到过同样的问题?
log*_*yth 23
通过处理的文件babel-loader与es2015预先设定的由巴别处理为ES6模块.在ES6模块中,this功能之外是undefined.在您的情况下,您需要添加
exclude: /node_modules/,
Run Code Online (Sandbox Code Playgroud)
到您的babel-loader配置,以便它只处理您自己的代码.目前,您可能也在所有节点模块上运行Babel,其中许多模块不希望通过Babel运行,也不打算成为ES6模块.
| 归档时间: |
|
| 查看次数: |
3013 次 |
| 最近记录: |