[英]My library module is not recognize as an NgModule
在angular-cli
的第一次編譯過程中,我的angular 2庫中的AccordionModule
似乎不是NgModule,但是在錯誤之后他再次單獨重新加載,然后他可以編譯並且模塊被識別。
Time: 7903ms
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial] [rendered]
chunk {1} main.bundle.js, main.bundle.js.map (main) 11.4 kB {3} [initial] [rendered]
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 9.77 kB {4} [initial] [rendered]
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.6 MB [initial] [rendered]
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
ERROR in AccordionModule is not an NgModule
webpack: Failed to compile.
webpack: Compiling...
Hash: 422f957171e71c80b1cf
Time: 1999ms
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial]
chunk {1} main.bundle.js, main.bundle.js.map (main) 11.4 kB {3} [initial]
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 9.77 kB {4} [initial]
chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.6 MB [initial]
chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry]
webpack: Compiled successfully.
我試圖升級typescript
到版本2.0.10
和2.0.3
,但這種改變什么。
這是我的依賴項:
"peerDependencies": {
"@angular/common": "^2.4.0",
"@angular/compiler": "^2.4.0",
"@angular/core": "^2.4.0",
"@angular/platform-browser": "^2.4.0",
"core-js": "2.4.1",
"typescript": "2.0.10",
"zone.js": "^0.7.6"
},
"devDependencies": {
"@angular/compiler-cli": "^2.4.0",
"@angular/platform-server": "^2.4.0",
"@types/jasmine": "2.5.38",
"@types/node": "6.0.60",
"rimraf": "^2.5.4"
}
我的tsconfig:
{
"compilerOptions": {
"baseUrl": "",
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"declaration": true,
"noImplicitAny": false,
"strictNullChecks": true,
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "./dist",
"rootDir": "./src",
"skipLibCheck": true,
"stripInternal": true,
"typeRoots": ["./node_modules/@types"],
"types": [
"node"
],
"lib": [
"dom",
"es2015"
],
"paths": {
"@angular/core": ["node_modules/@angular/core"]
}
},
"compileOnSave": false,
"buildOnSave": false,
"exclude": [
"node_modules",
"dist",
"tests",
"**/*.ngfactory.ts",
"**/*.shim.ts"
],
"angularCompilerOptions": {
"genDir": "dist",
"entryModule": "src/lib/module#AccordionModule",
"skipTemplateCodegen": true,
"strictMetadataEmit": true
}
}
使用ngc編譯器而不是tsc編譯器在AOT中編譯包。 您可以將其指向同一個tsconfig文件。
npm install @angular/compiler-cli @angular/platform-server --save
node_modules/.bin/ngc -p tsconfig-aot.json
//Windows users should surround the ngc command in double quotes:
"node_modules/.bin/ngc" -p tsconfig.json
關於這篇文章的更多細節https://angular.io/docs/ts/latest/cookbook/aot-compiler.html#!#compile
ngc編譯器將輸出Angular用於識別模塊的額外元數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.