与 Webpack 捆绑时下划线出错

2024-03-07

我正在尝试重写使用 require.js 的旧应用程序以使用 es6 导入。使用的库之一是 Backbone 和 Underscore。为了创建一个大包并将 es6 预编译为 es5,我使用 Webpack 和 babel-loader。 捆绑包已创建,但当我将其加载到浏览器中时,出现以下错误:

Uncaught TypeError: Cannot read property '_' of undefined

似乎下划线中的“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 = {}

有人遇到过同样的问题吗?


文件处理者babel-loaderes2015预设由 Babel 作为 ES6 模块处理。在 ES6 模块中,this函数之外是undefined。对于您的情况,您需要添加

exclude: /node_modules/,

to your babel-loader配置,以便它只处理您自己的代码。目前,您可能也在所有节点模块上运行 Babel,其中许多模块不希望通过 Babel 运行,并且不打算成为 ES6 模块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与 Webpack 捆绑时下划线出错 的相关文章

随机推荐