构建期间 webpack 出错,但开发期间出错:"ERROR in static[...] from UglifyJS. Unexpected token: punc (...)"
Error in webpack during build but not dev: "ERROR in static[...] from UglifyJS. Unexpected token: punc (...)"
在我的代码库中添加一个模块(在我的例子中是 vue2-dropzone
但显然其他一些节点模块也会发生这种情况)后遇到此错误。它发生在我 运行 npm run build
时,但使用 webpack 开发服务器 (npm run dev
) 一切正常。
ERROR in static/js/vendor.5efd79c0d4a823d6add3.js from UglifyJs
Unexpected token: punc (() [./node_modules/vue2-dropzone/dist/vue2Dropzone.js:1,41920][static/js/vendor.5efd79c0d4a823d6add3.js:42174,41885]
找到了一个简单的问题解决方案,我将其作为答案发布在下面——但非常想知道是否有人知道为什么这可以解决问题。
问题是,由于高于我的薪资等级的原因,必须使用 babel-loader
来加载此特定模块。或类似的东西。解决方案是修改您的 webpack.base.conf.js
文件以在 babel-loader 规则中包含有问题的模块(以上述错误中出现的那个为准),如下所示:
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/<NAME_OF_NODE_MODULE>')]
}
UPDATE(根据评论中的 SLaks):当 UglifyJS 需要 Babel 的特性(例如语言扩展)以理解给定模块的代码时,就会发生这种情况。
在我的代码库中添加一个模块(在我的例子中是 vue2-dropzone
但显然其他一些节点模块也会发生这种情况)后遇到此错误。它发生在我 运行 npm run build
时,但使用 webpack 开发服务器 (npm run dev
) 一切正常。
ERROR in static/js/vendor.5efd79c0d4a823d6add3.js from UglifyJs
Unexpected token: punc (() [./node_modules/vue2-dropzone/dist/vue2Dropzone.js:1,41920][static/js/vendor.5efd79c0d4a823d6add3.js:42174,41885]
找到了一个简单的问题解决方案,我将其作为答案发布在下面——但非常想知道是否有人知道为什么这可以解决问题。
问题是,由于高于我的薪资等级的原因,必须使用 babel-loader
来加载此特定模块。或类似的东西。解决方案是修改您的 webpack.base.conf.js
文件以在 babel-loader 规则中包含有问题的模块(以上述错误中出现的那个为准),如下所示:
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/<NAME_OF_NODE_MODULE>')]
}
UPDATE(根据评论中的 SLaks):当 UglifyJS 需要 Babel 的特性(例如语言扩展)以理解给定模块的代码时,就会发生这种情况。