Angular: "ng build -prod" 为 jsnlog 产生错误
Angular: "ng build -prod" produces error for jsnlog
如果我尝试执行 ng build --prod
:
,我会收到以下错误
ERROR in ./src/$$_gendir/app/app.module.ngfactory.ts
Module not found: Error: Can't resolve 'jsnlog/Definitions/jl' in 'C:\xxx\src$$_gendir\app'
@ ./src/$$_gendir/app/app.module.ngfactory.ts 31:0-45
@ ./src/main.ts
@ multi ./src/main.ts
此错误仅在 i 运行 ng build --prod
时发生并且在 i 运行 ng build
没有任何参数时工作正常,
我遇到了同样的问题。问题是这个库没有 angular AOT 编译就绪,因为它缺少 metadata.json
文件。这就是生产构建失败而开发构建有效的原因。
无需将其注册到 angular 服务注入器,您可以直接将其导入到您的错误处理程序服务中并使用它。不过,这让测试变得更难了。
在扩展 angular ErrorHandler 的服务中:
import { JL } from 'jsnlog';
并在 handleError
方法中,执行:
JL().fatalException('Exception', error);
如果我尝试执行 ng build --prod
:
ERROR in ./src/$$_gendir/app/app.module.ngfactory.ts
Module not found: Error: Can't resolve 'jsnlog/Definitions/jl' in 'C:\xxx\src$$_gendir\app'
@ ./src/$$_gendir/app/app.module.ngfactory.ts 31:0-45
@ ./src/main.ts
@ multi ./src/main.ts
此错误仅在 i 运行 ng build --prod
时发生并且在 i 运行 ng build
没有任何参数时工作正常,
我遇到了同样的问题。问题是这个库没有 angular AOT 编译就绪,因为它缺少 metadata.json
文件。这就是生产构建失败而开发构建有效的原因。
无需将其注册到 angular 服务注入器,您可以直接将其导入到您的错误处理程序服务中并使用它。不过,这让测试变得更难了。
在扩展 angular ErrorHandler 的服务中:
import { JL } from 'jsnlog';
并在 handleError
方法中,执行:
JL().fatalException('Exception', error);