0

我需要尽快将网站投入生产,并正在研究 AOT 以提高性能(我的应用程序需要大约 3-4 秒才能在 Chrome 上加载,在 Firefox 上需要 8-10 秒,这对于生产来说是不可能的)。

我遵循了https://angular.io/docs/ts/latest/cookbook/aot-compiler.html上的指南,但我坚持编译部分......

如果我输入: node_modules/.bin/ngc -p tsconfig-aot.json 我会得到一个很好的“编译失败”,其中包含大约 10000 个错误的列表,比如这个:

Error at /myapp/aot/app/contact/admin/contact-list.component.ngfactory.ts:64:7: Supplied parameters do not match any signature of call target.

我无法解决所有这些问题,因为有些直接来自 Angular(我猜),例如:

Error at /myapp/node_modules/@angular/core/src/di/reflective_provider.d.ts:88:165: Cannot find name 'Map'.

编译失败是否与所有这些错误有关,如果我解决了它们,编译会通过吗?如果是的话,即使是 Angular 也会导致我提供的错误,这是否正常?

谢谢 !

注意:我使用的是 Angular 2.1.1。

4

2 回答 2

1

我和kinkaz在同一条船上。对我有用的是从 angular.io 网站在 AoT 教程中建议的 tsconfig-aot.json 文件中删除以下内容...

只需删除,

“typeRoots”:[“../../node_modules/@types/”]

来自 tsconfig-aot.json

于 2016-11-01T18:49:11.683 回答
1

对于那些有兴趣的人:

如果您有 Typescript 错误,编译器将失败(即使您忘记键入变量,例如public myVar;会抛出错误,public myVar: any;也会通过)。

不应出现角度错误,并且通过在我的 package.json 中添加此依赖项已为我解决了这个问题:

"@types/core-js": "^0.9.34"

于 2016-10-28T12:35:42.557 回答