在Angular4库上运行ngc时,TsickleCompilerHost会出错

时间:2017-06-08 12:15:22

标签: angular typescript angular-compiler-cli

我目前正在以Angular Package Format描述的格式导出Angular 4组件库。为简化此操作,我使用this Yeoman generator生成了默认设置。一切都工作得很好,我可以生成一个工作库,我可以在另一个Angular应用程序中导入。然后,在获取所有最新更改并尝试生成新包之后,我更新了库文件。但是,这次构建失败了,错误导致我无法链接到我提取的其中一个更改。

消息:

[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

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

1 个答案:

答案 0 :(得分:0)

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