使用角度cli进行Angular2生成AOT构建

时间:2017-01-25 03:28:28

标签: angular angular2-services angular2-aot

我的Angular2网络应用程序包含

  • 第三方插件,如jquery,pdfjs,e.t.c。
  • 已定义服务!
export class WorkerService{
    constructor() {

    }
}

当我使用angular cli构建Dev AOT构建时,没有问题! 但是当我使用角度cli进行Prod AOT构建时,它给出了一个错误, “意外的令牌:名称(WorkerService)”。 我使用的命令是

  

ng build --prod --aot

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

Angular CLI版本:1.0.0-beta.25.5

enter image description here

1 个答案:

答案 0 :(得分:0)

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

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

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

tsconfig.json已经过时,但是像Visual Studio Code这样的IDE仍在使用,我认为在构建和运行测试期间会使用tsconfig.spec.json。