Angular 我的库模块无法识别为NGM模块

Angular 我的库模块无法识别为NGM模块,angular,typescript,angular-cli,Angular,Typescript,Angular Cli,我的angular 2库中的MyAccordionModule在通过angular cli进行第一次编译期间似乎不是NgModule,但他在错误发生后再次单独重新加载,然后他可以编译,并且可以识别模块 Time: 7903ms chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial] [rendered] chunk {1} main.bundle

我的angular 2库中的My
AccordionModule
在通过
angular cli
进行第一次编译期间似乎不是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
关于这篇文章的更多细节


ngc编译器将输出Angular用于识别模块的额外元数据。

使用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
关于这篇文章的更多细节

ngc编译器将输出Angular用于识别模块的额外元数据