运行Angular编译器-cli(ngc)时出现问题:无法找到模块'@angular/core'。

5

我尝试使用以下方式安装 Angular 编译器-cli (ngc):

npm install @angular/compiler-cli typescript @angular/platform-server @angular/compiler

安装似乎已经成功,但是现在当我运行 ngc -p src ,根据这个问题的解决方案,我会得到以下结果:

module.js:442
    throw err;
    ^

Error: Cannot find module '@angular/core'
    at Function.Module._resolveFilename (module.js:440:15)
    at Function.Module._load (module.js:388:25)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at /usr/local/lib/node_modules/@angular/compiler/bundles/compiler.umd.js:7:83
    at Object.<anonymous> (/usr/local/lib/node_modules/@angular/compiler/bundles/compiler.umd.js:10:2)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)

我的项目使用ng serve运行良好。这里我做错了什么?


1
如果你正在使用Angular CLI,你不需要直接使用ngc。你应该使用ng build --aot来进行AoT编译。更多细节请参考这个回答:https://dev59.com/jVkT5IYBdhLWcg3wB7Is#39167817。 - Yaroslav Admin
1个回答

4

如果您已经在使用Angular CLI,则只需使用ng build命令,让它来正确调用ngc

如果这与AOT有关,请执行以下操作:

ng build -prod -aot

你的 /dist/ 文件夹将包含你所需要的内容。

编辑: 我应该补充说明,你链接到的问题是针对 RC5 的,当时 Angular CLI 还很新。自那以后已经发生了很多变化,最好总是查找基于 Final 版本的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接