0

我的 Angular2 网络应用程序包括

  • 第三方插件,如 jquery、pdfjs 等
  • 已定义服务!
export class WorkerService{
    constructor() {

    }
}

当我使用 Angular cli 构建 Dev AOT 构建时,没有问题!但是当我使用 Angular cli 进行 Prod AOT 构建时,它给了我一个错误消息,“Unexpected token : name (WorkerService)”。我使用的命令是

ng build --prod --aot

我可能做错了什么?我没有与我的服务相关的规范文件,这会有问题吗?谢谢。

Angular CLI 版本:1.0.0-beta.25.5

在此处输入图像描述

4

1 回答 1

0

这是与 angular/cli 捆绑的 UglifyJs 版本的问题。它是一个发布版本,只能支持编译后的 ES5 或更低版本。查看您的 tsconfig.app.json 并查看目标行,可能类似于

{
  "compilerOptions": {
    ...
    "target": "es2016",
    ...
}

将 es2016、es2015、es6 或任何您必须的更改为“es5”,或创建此文件并将目标添加到其中,然后再次尝试构建。这对我有用,但如果您使用无法转换回 ES5 的 ES6 或 ES2016 功能,则可能并不总是有效。

tsconfig.json 已过时,但 Visual Studio Code 等一些 IDE 仍在使用,我认为 tsconfig.spec.json 在构建和运行测试期间使用。

于 2017-04-19T21:12:48.830 回答