如何修复UglifyJs中的“意外的令牌操作符”错误?

时间:2017-11-02 20:09:24

标签: angular typescript npm

在我的Angular应用程序中,我运行此命令:

> ng build --prod --aot --env=staging

和那些输出:

ERROR in vendor.0625f773941bc83e6748.bundle.js from UglifyJs
Unexpected token operator «*», expected punc «(» [vendor.0625f773941bc83e6748.bundle.js:69512,51]

我已将错误缩小到我最近安装的npm包web-request

在npm安装的index.js文件中,有一些函数如下:

function get(uri, options) {
    return __awaiter(this, void 0, void 0, function* () { return yield create(uri, Object.assign({}, options, { method: 'GET' })).response; });
}

而Uglify一定不喜欢function*。鉴于此index.js不是npm包源代码的一部分,我该如何解决此错误?

这是我的tsconfig.json文件:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

1 个答案:

答案 0 :(得分:1)

安装angular cli 1.5并将你的tsconfig.json目标更改为“es6”,也许这只是es6支持的功能?