webpack - 意外 token : operator (>) from UglifyJs

标签 webpack vuejs2 vue-loader babel-loader

我有 2 个 Vue-Cli webpack 项目(ClientApp 和 Lib)。
lib是我的组件库(与其他项目共享)

问题

当我构建我的项目 ClientApp npm run build ,我有以下错误:

ERROR in static/js/app.d08a24ce0e8d0438ce68.js from UglifyJs
Unexpected token: operator (>) [C:/.../Lib/src/tools/escape-key.js:3,0][static/js/app.d08a24ce0e8d0438ce68.js:17468,38]

问题

错误似乎来自文件 escape-key.js 中的箭头函数.
这是 ES6 语法,UglifyJS 无法解析。
在丑化之前,巴别塔不应该先走吗?
请注意,它适用于 *.vue文件。

项目结构
ClientApp
   | - build
   | - config
   | - src
       | - App.Vue // import EscapeKey from '~lib/tools/escape-key';



Lib
  | -src
     | - tools
         | - escape-key.js

ClientApp 的 webpack.base.conf.js 文件

请注意,Lib 有一个别名。
resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      '@': resolve('src'),
      '~lib': path.join(__dirname, '../../lib/src'),
    }
  },

如果需要,请随时询问更多详细信息。

最佳答案

添加

"uglifyjs-webpack-plugin": "v1.0.0-beta.1",

到您的开发依赖项并更新您的 webpack.config.js文件以明确使用此版本:
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')

module.exports = {
  plugins: [
    new UglifyJSPlugin()
  ]
}

uglifyjs-webpack-plugin 最新稳定版本 (v0.4.6) 使用旧版本 uglify-js而不是 uglify-es能够转译 ES6。此依赖项已在 1.0.0-beta.1 版本中更新。

https://github.com/webpack-contrib/uglifyjs-webpack-plugin/releases/tag/v1.0.0-beta.1

关于webpack - 意外 token : operator (>) from UglifyJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43888474/

相关文章:

在 S3 中上传时的 Laravel-mix 版本控制在以前的哈希中思考

angular - asp.net 核心, Angular 2,PrimeNG

javascript - 在 v-for 列表项中显示和隐藏 div (Vue.js 2)

vue.js - 当 v-for 渲染的对象发生变化时如何更新 DOM?

javascript - 如何将 vue.js 模板分离到 .vue 文件中,同时将代码留在 .js 中?

css - 如何解决这个问题?是否使用 webpack?

ruby-on-rails - 带有 Webpacker 的 Rails 5.2 上的基础 scss

javascript - vue动态组件,重复信息

webpack - 如何在我的组件 VUE 2 (webpack) 中加载外部 js 文件?

javascript - 获取未捕获的类型错误 : . ..default 不是构造函数 - 来自 Vue 组件