节点ArrayLiteralExpression未通过testing“isTypeNode”

它成功地build立在本地环境中,但是当它在Docker中build立时,代码将会落在:

Error: Debug Failure. False expression: Unexpected node. Verbose Debug Information: Node ArrayLiteralExpression did not pass test 'isTypeNode'. at visitNode (/opt/front-new-kf.expert/node_modules/typescript/lib/typescript.js:51067:18) at Object.visitEachChild (/opt/front-new-kf.expert/node_modules/typescript/lib/typescript.js:51198:265) at visitNode (/opt/front-new-kf.expert/node_modules/@angular/compiler-cli/src/transformers/lower_expressions.js:76:33) at visitNodes (/opt/front-new-kf.expert/node_modules/typescript/lib/typescript.js:51104:48) at Object.visitEachChild (/opt/front-new-kf.expert/node_modules/typescript/lib/typescript.js:51353:355) at topLevelStatement (/opt/front-new-kf.expert/node_modules/@angular/compiler-cli/src/transformers/lower_expressions.js:84:33) at Array.map (<anonymous>) at visitSourceFile (/opt/front-new-kf.expert/node_modules/@angular/compiler-cli/src/transformers/lower_expressions.js:94:51) at transformSourceFile (/opt/front-new-kf.expert/node_modules/@angular/compiler-cli/src/transformers/lower_expressions.js:135:12) at /opt/front-new-kf.expert/node_modules/@angular/compiler-cli/src/transformers/lower_expressions.js:148:20 

我的package.json:

 "dependencies": { "@agm/core": "^1.0.0-beta.0", "@angular/animations": "~5.0.5", "@angular/common": "~5.0.5", "@angular/compiler": "5.0.5", "@angular/core": "~5.0.5", "@angular/forms": "~5.0.5", "@angular/http": "~5.0.5", "@angular/platform-browser": "~5.0.5", "@angular/platform-browser-dynamic": "~5.0.5", "@angular/platform-server": "~5.0.5", "@angular/router": "~5.0.5", "@ngtools/webpack": "^1.8.5", "@nguniversal/express-engine": "^5.0.0-beta.5", "compression": "^1.7.1", "core-js": "^2.5.1", "express": "^4.15.2", "http-proxy-middleware": "^0.17.4", "install": "^0.10.1", "npm": "^5.2.0", "passport": "^0.3.2", "passport-http": "^0.3.0", "preboot": "^5.1.7", "rxjs": "^5.3.0", "style-loader": "^0.18.2", "swiper": "^3.4.2", "xhr2": "^0.1.4", "zone.js": "0.8.14" }, "devDependencies": { "@angular/compiler-cli": "5.0.5", "@ngtools/webpack": "^1.8.0", "@types/source-map": "^0.5.0", "@types/uglify-js": "^2.6.28", "@types/webpack": "^2.2.16", "@types/express": "^4.0.39", "@types/jasmine": "^2.8.2", "@types/node": "^8.0.54", "angular2-template-loader": "^0.6.2", "awesome-typescript-loader": "^3.4.1", "codelyzer": "^3.1.2", "copy-webpack-plugin": "^4.0.1", "css-loader": "^0.28.4", "cssnext": "^1.8.4", "extract-text-webpack-plugin": "^3.0.0", "friendly-errors-webpack-plugin": "^1.6.1", "html-replace-webpack-plugin": "^2.2.6", "html-webpack-plugin": "^2.28.0", "istanbul-instrumenter-loader": "^3.0.0", "jasmine-core": "^2.8.0", "karma": "^1.7.1", "karma-chrome-launcher": "^2.2.0", "karma-coverage": "^1.1.1", "karma-jasmine": "^1.1.0", "karma-mocha-reporter": "^2.2.5", "karma-phantomjs-launcher": "^1.0.4", "karma-remap-coverage": "^0.1.4", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^2.0.6", "node-sass": "^4.5.3", "nodemon": "^1.11.0", "null-loader": "^0.1.1", "postcss-import": "^10.0.0", "postcss-loader": "^2.0.6", "raw-loader": "^0.5.1", "rimraf": "^2.6.1", "sass-loader": "^6.0.6", "script-ext-html-webpack-plugin": "^1.7.1", "source-map-loader": "^0.2.3", "style-ext-html-webpack-plugin": "^3.4.5", "tslint": "^5.5.0", "typescript": "^2.5.2", "uglifyjs-webpack-plugin": "^1.0.1", "webpack": "^3.8.1", "webpack-merge": "^4.1.0" } 

ts.config.json

  { "compilerOptions": { "moduleResolution": "node", "module": "es2015", "target": "es5", "noImplicitAny": false, "sourceMap": false, "experimentalDecorators": true, "emitDecoratorMetadata": true, "skipLibCheck": true, "strictNullChecks": false, "lib": [ "es2016", "dom" ], "types": [ "node", "jasmine" ] }, "exclude": [ "src/aot/**/*.ts", "src/**/*.spec.ts", "node_modules", "dist" ] } 

Webpack AOTconfiguration:

  const { root } = require('./helpers'); const { AngularCompilerPlugin } = require('@ngtools/webpack'); const tsconfigs = { client: root('./src/tsconfig.browser.json'), server: root('./src/tsconfig.server.json') }; const aotTsconfigs = { client: root('./src/tsconfig.browser.aot.json'), server: root('./src/tsconfig.server.aot.json') }; function getAotPlugin(platform, aot) { return new AngularCompilerPlugin({ tsConfigPath: aot ? aotTsconfigs[platform] : tsconfigs[platform], skipCodeGeneration: !aot, skipMetadataEmit: aot, // skipCodeGeneration: false, // skipMetadataEmit: false, sourceMap: false, typeChecking: false }); } module.exports = { getAotPlugin: getAotPlugin }; 

在Webpackconfiguration

  const clientConfig = webpackMerge({}, commonPartial, clientPartial, { entry: aot ? './src/main.browser.aot.ts' : clientPartial.entry, // entry: clientPartial.entry, plugins: [ // getAotPlugin('client', !!options.aot) getAotPlugin('client', aot) ] });