2017-03-13 16 views
1

私の角2のライブラリの私のAccordionModuleは、最初のコンパイル時にangular-cliでNgModuleではないようですが、エラーの後で再度ロードしてコンパイルしてモジュールを認識できます。私のライブラリモジュールは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. 

私はバージョン2.0.102.0.3が、その変化の何にもtypescriptをアップグレードしようとしました。

"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 
    } 
} 

答えて

0

は、TSCコンパイラの代わりにNGCコンパイラを使用して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コンパイラが出力余分なメタデータ。

関連する問題