私はこのNgModuleを持っています:
@NgModule({
imports: [
CommonModule
],
exports: [
SP21LoadingBar
],
declarations: [SP21LoadingBar]
})
export class SP21LoadingBarModule { }
Cliは私に言っていません
ERROR in SP21LoadingBarModule is not an NgModule
注意:コードを取得してプロジェクトに入れると、正常に機能します。しかし、モジュール(およびコンポーネント)をプロジェクトから取り出してnpmパッケージに入れるとすぐに、そのエラーが発生します。
Angularは2.3.1で使用されています、Angular CLI 1.0.0-beta.24、TypeScript 2.0.10
最終的な解決策:
Ahead-Of-Timeコンパイラ(ngc)を使用してライブラリをコンパイルする必要があります。それはそれを読むためにライブラリを含むプロジェクトを割り当てるいくつかのメタデータを追加します。
次のリンクをご覧ください。
https://angular.io/docs/ts/latest/cookbook/aot-compiler.htmlhttps://medium.com/@cyrilletuzi/how-to-build-and -publish-an-angular-module-7ad19c0b4464#.9y88ipdk7
ngc
を直接使用するのではなく、tsc
(@ angular/compiler-cli)を使用してライブラリをコンパイルする必要があります。これはあなたに当てはまりますか?
私はこの問題に2日間を費やしました。追加
"angularCompilerOptions": {
"skipTemplateCodegen": true
}
tsconfig.json
に追加すると、必要なすべてのメタデータファイルが作成されます。わたしにはできる。