【问题标题】:Error in webpack during build but not dev: "ERROR in static[...] from UglifyJS. Unexpected token: punc (...)"构建期间 webpack 出错,但不是开发:“来自 UglifyJS 的静态 [...] 中的错误。意外的令牌:punc (...)”
【发布时间】:2019-05-03 18:33:19
【问题描述】:

在我的代码库中添加一个模块(在我的情况下是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]

找到了一个简单的问题解决方案,我将其作为答案发布在下面——但非常想知道是否有人知道为什么这可以解决问题。

【问题讨论】:

    标签: node.js npm webpack webpack-dev-server


    【解决方案1】:

    问题是由于我的工资等级以上的原因,必须使用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>')]
    }
    

    更新(根据 cmets 中的 SLaks):当 UglifyJS 需要 Babel 的功能(例如语言扩展)才能理解给定模块的代码时,就会发生这种情况。

    【讨论】:

    • 这意味着你有 JS 代码,如果没有 Babel,Uglify 无法理解(例如,语言扩展或更新的功能)。
    猜你喜欢
    • 2018-10-15
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多