在AoT构build之后无法删除文件

当我从我的package.json文件运行build:prod命令时,编译生成成功,但无法删除.ngsummary.json文件以及所有.ngfactory.ts文件

package.json文件:

{ "name": "name", "version": "1.0.0", "private": true, "scripts": { "start": "node ./bin/www", "build": "del-cli public/js/app && webpack --config webpack.config.dev.js --progress --profile --watch", "build:prod": "del-cli public/js/app && ngc -p tsconfig.aot.json && ngc -p tsconfig.aot.json && webpack --config webpack.config.prod.js --progress --profile --bail && del-cli 'public/js/app/**/*.js' 'public/js/app/**/*.js.map' '!public/js/app/bundle.js' '!public/js/app/*.chunk.js' 'assets/app/**/*.*.ngfactory.ts' 'assets/app/**/*.shim.ts' 'assets/app/**/*.ngsummary.json' 'assets/app/**/*.ngstyle.ts'" }, "dependencies": { "@angular/animations": "^4.4.3", "@angular/cdk": "github:angular/cdk-builds", "@angular/cli": "^1.4.2", "@angular/common": "^4.4.3", "@angular/compiler": "^4.4.3", "@angular/compiler-cli": "^4.4.3", "@angular/core": "^4.4.3", "@angular/forms": "^4.4.3", "@angular/http": "^4.4.3", "@angular/platform-browser": "^4.4.3", "@angular/platform-browser-dynamic": "^4.4.3", "@angular/platform-server": "^4.4.3", "@angular/router": "^4.4.3", "@angular/upgrade": "^4.4.3", "bcryptjs": "^2.4.3", "body-parser": "~1.17.1", "cookie-parser": "~1.4.3", "core-js": "^2.5.1", "debug": "~2.6.3", "express": "^4.15.5", "hammerjs": "^2.0.8", "hbs": "~4.0.1", "jsonwebtoken": "^8.0.1", "mongoose": "^4.11.12", "mongoose-unique-validator": "^1.0.6", "morgan": "~1.8.1", "portfinder": "^1.0.13", "reflect-metadata": "^0.1.10", "rxjs": "^5.4.3", "serve-favicon": "~2.4.2", "webpack": "^3.6.0", "zone.js": "^0.8.17" }, "devDependencies": { "@types/core-js": "0.9.36", "@types/node": "6.0.45", "angular-router-loader": "^0.6.0", "angular2-template-loader": "^0.6.2", "awesome-typescript-loader": "^3.1.2", "del-cli": "^0.2.0", "file-loader": "^1.1.5", "html-loader": "^0.4.4", "html-webpack-plugin": "^2.30.1", "image-webpack-loader": "^3.4.2", "raw-loader": "^0.5.1", "style-loader": "^0.18.2", "ts-loader": "^2.0.3", "typescript": "^2.5.2", "webpack": "^2.2.1", "webpack-merge": "^4.1.0" } } 

具体指的是这个命令:

 "build:prod": "del-cli public/js/app && ngc -p tsconfig.aot.json && ngc -p tsconfig.aot.json && webpack --config webpack.config.prod.js --progress --profile --bail && del-cli 'public/js/app/**/*.js' 'public/js/app/**/*.js.map' '!public/js/app/bundle.js' '!public/js/app/*.chunk.js' 'assets/app/**/*.*.ngfactory.ts' 'assets/app/**/*.shim.ts' 'assets/app/**/*.ngsummary.json' 'assets/app/**/*.ngstyle.ts'" 

当构build成功时,我的项目变得杂乱无章.ngsummary.json&ngfactory.ts文件,这应该由build:prod脚本删除。 所有其他文件types被删除(他们不显示在我的工作目录,但只在目标目录中)。

我想我应该包括我的webpack.config文件 – 这些分为3:

webpack.config.common.js:

 var webpack = require('webpack'); module.exports = { entry: { 'app': './assets/app/main.ts' }, resolve: { extensions: ['.js', '.ts'] }, module: { rules: [ { test: /\.html$/, use: [{ loader: 'html-loader' }] }, { test: /\.css$/, use: [{ loader: 'raw-loader' }] } ], exprContextCritical: false } }; 

webpack.config.dev.js:

 var path = require('path'); var webpackMerge = require('webpack-merge'); var commonConfig = require('./webpack.config.common.js'); module.exports = webpackMerge(commonConfig, { devtool: 'cheap-module-eval-source-map', output: { path: path.resolve(__dirname + '/public/js/app'), publicPath: "/js/app/", filename: 'bundle.js', chunkFilename: '[id].chunk.js' }, module: { rules: [ { test: /\.ts$/, use: [ {loader: 'awesome-typescript-loader', options: { transpileOnly: true }}, {loader: 'angular2-template-loader'}, {loader: 'angular-router-loader'} ] } ] } }); 

webpack.config.prod.js:

 var path = require('path'); var webpack = require('webpack'); var webpackMerge = require('webpack-merge'); var commonConfig = require('./webpack.config.common.js'); module.exports = webpackMerge.smart(commonConfig, { entry: { 'app': './assets/app/main.aot.ts' }, output: { path: path.resolve(__dirname + '/public/js/app'), filename: 'bundle.js', publicPath: '/js/app/', chunkFilename: '[id].[hash].chunk.js' }, module: { rules: [ { test: /\.ts$/, use: [ 'awesome-typescript-loader', 'angular2-template-loader', 'angular-router-loader?aot=true' ] } ] }, plugins: [ new webpack.optimize.UglifyJsPlugin({ sourceMap: false }) ] }); 

我正在使用Windows 10,如果它与操作系统权限有关 – 我怀疑,但你永远不知道。


编辑:认为我应该添加tsconfig.json:

 { "compilerOptions": { "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", "typeRoots": [ "node_modules/@types" ], "lib": [ "es5", "dom" ] } } 

和tsconfig.aot.json:

 { "compilerOptions": { "target": "es5", "module": "es2015", "moduleResolution": "node", "sourceMap": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false, "outDir": "./public/js/app" }, "typeRoots": [ "node_modules/@types" ], "lib": [ "es5", "dom" ], "angularCompilerOptions": { "skipMetadataEmit": true } }