当 运行 ngc on Angular4 库时,TsickleCompilerHost 给出错误

TsickleCompilerHost gives error when running ngc on Angular4 library

我目前正在以 Angular Package Format. To simplify this, I generated a default setup using this Yeoman generator 描述的格式导出 Angular 4 组件库。一开始一切都很完美,我可以生成一个可以导入另一个 Angular 应用程序的工作库。然后,我在获取所有最新更改后更新了我们的库文件,并尝试生成一个新包。但是这次构建失败了,错误是我无法 link 我获取的其中一项更改。

留言:

[13:33:05] Starting 'ngc'...
TypeError: Cannot read property 'path' of undefined
    at TsickleCompilerHost.getSourceMapKeyForSourceFile (C:\Projects\App\lib\node_modules\tsickle\build\src\tsickle_compiler_host.js:120:65)
    at TsickleCompilerHost.downlevelDecorators (C:\Projects\App\lib\node_modules\tsickle\build\src\tsickle_compiler_host.js:202:52)
    at TsickleCompilerHost.getSourceFile (C:\Projects\App\lib\node_modules\tsickle\build\src\tsickle_compiler_host.js:94:29)
    at findSourceFile (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:67909:29)
    at processSourceFile (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:67840:27)
    at C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:67950:17
    at Object.forEach (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:1449:30)
    at processReferencedFiles (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:67948:16)
    at findSourceFile (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:67933:21)
    at processImportedModules (C:\Projects\App\lib\node_modules\typescript\lib\typescript.js:68056:25)
Compilation failed
[13:33:13] 'ngc' errored after 7.52 s

有人能指出导致此错误的原因,以便我知道应该寻找什么吗?

原来 // <reference path="some/path" /> 注释中的路径在构建期间被替换,导致它指向不存在的文件。这导致 TsickleCompilerHost 找不到文件,进而导致未定义的源文件。因此 TypeError: Cannot read property 'path' of undefined 消息。