Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度CLI AOT-错误堆栈跟踪_Angular_Angular Cli_Angular2 Aot - Fatal编程技术网

Angular 角度CLI AOT-错误堆栈跟踪

Angular 角度CLI AOT-错误堆栈跟踪,angular,angular-cli,angular2-aot,Angular,Angular Cli,Angular2 Aot,有人知道在AOT编译中使用Angular CLI时如何获得更详细的错误堆栈跟踪吗?使用JIT编译运行时,我的应用程序中没有问题,但是当我运行ng build--aot时,我得到的结果是:TypeError:无法读取未定义的属性“length”。没有关于错误来源的信息。我想我的一个模板中有一些问题,但我不知道哪一个是问题所在 我正在使用Angular CLI(1.0.0-beta.24)和Angular 2(2.4.1)的最新版本 编辑 下面是使用ngserve--aot命令时编译器发出的完整消息

有人知道在AOT编译中使用Angular CLI时如何获得更详细的错误堆栈跟踪吗?使用JIT编译运行时,我的应用程序中没有问题,但是当我运行
ng build--aot
时,我得到的结果是:
TypeError:无法读取未定义的属性“length”。没有关于错误来源的信息。我想我的一个模板中有一些问题,但我不知道哪一个是问题所在

我正在使用Angular CLI(1.0.0-beta.24)和Angular 2(2.4.1)的最新版本

编辑

下面是使用
ngserve--aot
命令时编译器发出的完整消息:

Cannot read property 'length' of undefined

./app/main.ts
Module not found: Error: Can't resolve './$$_gendir/app.module.ngfactory' in 'C:\frontend-angular-cli\app'
resolve './$$_gendir/app.module.ngfactory' in 'C:\frontend-angular-cli\app'
using description file: C:\frontend-angular-cli\package.json (relative path: ./app)
Field 'browser' doesn't contain a valid alias configuration
after using description file: C:\frontend-angular-cli\package.json (relative path: ./app)
using description file: C:\frontend-angular-cli\package.json (relative path: ./app/$$_gendir/app.module.ngfactory)
as directory
C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory doesn't exist
no extension
Field 'browser' doesn't contain a valid alias configuration
C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory doesn't exist
.ts
Field 'browser' doesn't contain a valid alias configuration
C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory.ts doesn't exist
.js
Field 'browser' doesn't contain a valid alias configuration
C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory.js doesn't exist
[C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory]
[C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory]
[C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory.ts]
[C:\frontend-angular-cli\app\$$_gendir\app.module.ngfactory.js]
@ ./app/main.ts 8:0-70
@ multi main

./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
Module not found: Error: Can't resolve 'C:\frontend-angular-cli\app\$$_gendir' in 'C:\frontend-angular-cli\node_modules\@angular\core\src\linker'
resolve 'C:\frontend-angular-cli\app\$$_gendir' in 'C:\frontend-angular-cli\node_modules\@angular\core\src\linker'
using description file: C:\frontend-angular-cli\node_modules\@angular\core\package.json (relative path: ./src/linker)
Field 'browser' doesn't contain a valid alias configuration
after using description file: C:\frontend-angular-cli\node_modules\@angular\core\package.json (relative path: ./src/linker)
using description file: C:\frontend-angular-cli\package.json (relative path: ./app/$$_gendir)
as directory
C:\frontend-angular-cli\app\$$_gendir doesn't exist
[C:\frontend-angular-cli\app\$$_gendir]
@ ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js 69:15-36 85:15-102
@ ./~/@angular/core/src/linker.js
@ ./~/@angular/core/src/core.js
@ ./~/@angular/core/index.js
@ ./app/main.ts
@ multi main

我以前有过这种情况,这可能是一种真正的痛苦。您是否尝试过
ng serve--aot
并在浏览器中查看堆栈跟踪


在过去,我通过使用二进制搜索策略逐步删除代码,缩小了这些问题的范围:/

使用AOT编译器也有此错误消息。在我的例子中,是应用程序模块的提供者配置中的令牌出现问题,该令牌不能与AOT一起使用。请参见

应发布一些代码。。变量的“长度”是多少?应用程序相当复杂。它有数百个模板和相应的.ts文件,因此很不幸,无法发布代码。在JIT编译中开发这种错误(“无法读取属性”length…)通常在我试图通过未初始化的变量或空数组使用*ngFor指令循环时出现。但是,正如我所提到的,JIT编译没有此类错误。也许可以在tsconfig.json中添加一些内容,强制编译器显示类似错误的完整堆栈跟踪?afaik beta.24应该与angular 2一起使用。3.1我添加了来自浏览器的错误消息(使用
ng serve--aot
)。