javascript - 创建生产资源时 UglifyJS 出现 Webpack 错误

标签 javascript jquery webpack webpack-encore

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

ERROR Failed to compile with 1 errors
app.js from UglifyJS .
Invalid assignment [app.js:131,42]
Unexpected character '`' [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');

有什么想法可能是什么问题吗?

最佳答案

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

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

ES6 in plugin

另一个选项是从插件的 dist 文件夹中导入/要求插件的缩小版本

示例:

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

关于javascript - 创建生产资源时 UglifyJS 出现 Webpack 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347011/

相关文章:

javascript - Webpack-2 externals如何从cdn加载bootstrap

c# - 如何在aspx中循环传递DataTable值?

javascript - Webpack 错误 : You may need an appropriate loader to handle this file type. | @字符集 "UTF-8";

javascript - 导出 const d3.map 时出错

javascript - Jest 测试无法解析 React 组件中的纯 HTML 标签

javascript - 何时在 Javascript 中使用 <![CDATA[

javascript - google api服务帐户访问用户任务列表

javascript - 关闭模式时如何取消选中所有复选框?

javascript - 删除在平板电脑模式下不起作用的事件元素

javascript - jQuery停止动画方法