【问题标题】:Webpack error from UglifyJS when creating production assets创建生产资产时来自 UglifyJS 的 Webpack 错误
【发布时间】:2018-01-19 18:02:38
【问题描述】:

我正在使用 Webpack Encore(类似于 Webpack)来创建资产文件。 创建开发文件时一切正常,但是在运行命令以生成用于生产的缩小文件时出现错误。

ERROR 编译失败,出现 1 个错误
来自 UglifyJS 的 app.js .
分配无效 [app.js:131,42]
意外字符'`' [app.js:10953,9]

问题似乎是由两个插件引起的:

jquery-asScrollable 和 jquery-asScrollbar 实际上注释掉以下几行,该过程成功完成

require('jquery-asScrollable');
require('jquery-asScrollbar'); 

我的 package.json 文件

{
  "devDependencies": {
    "@symfony/webpack-encore": "^0.17.1",
    "animsition": "^4.0.2",
    "bootstrap": "4.0.0-beta.2",
    "jquery": "^3.2.1",
    "jquery-asScrollable": "^0.4.10",
    "jquery-asScrollbar": "^0.5.7",
    "jquery-mousewheel": "^3.1.13",
    "node-sass": "^4.7.2",
    "popper.js": "^1.12.9",
    "sass-loader": "^6.0.6",
    "webpack-notifier": "^1.5.0"
  }
}

更新:

app.js

require('jquery-asScrollable');
require('jquery-asScrollbar');
require('jquery-mousewheel');

对可能出现的问题有什么想法吗?

【问题讨论】:

  • app.js 中的错误点
  • 你能在这里显示你的 app.js
  • @Dipakchavda 刚刚用 app.js 的内容更新了我的 OP
  • 所以你可能会更深入地研究这个问题与图书馆或我认为的其他问题。

标签: javascript jquery webpack webpack-encore


【解决方案1】:

这两个插件使用 ES6 语法——在本例中为 模板文字。 Uglify 与 ES6 的大部分内容不兼容。您需要将这些插件复制到您的项目代码中(以便它们被您的 Babel 转译)或在您的 Babel 转译过程中取消排除它们各自的 node_modules 文件夹。

查看正在使用的模板文字(以及更多 ES6)here(第 90-93 行):

另一种选择是从其dist 文件夹中导入/要求插件的缩小版

例子:

require('node_modules/jquery-asScrollable/dist/jquery-asScrollable.min.js')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多