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);