
optimization.concatenateModules 卡在此处 79% 很长时间。一直在优化?代码写的太臃肿了?
win 10 4h8g 时间是 2600 秒左右===40 多分钟。
CentOS 4H8G 36 分钟完成
尝试过增加打包服务器配置( CentOS 7 ),4 核 8G,8 核 16G 等都尝试过,甚至用了 16 核 32G 的电脑,没有明显的改善, 用 2 核 4G 的服务器会导致服务器占用达到 100%而服务器瘫痪。
我的项目 不算大,依赖的组件也不多,打包成功后,经压缩的 zip 文件是 3.6Mb 左右的大小。 打包命令是 "bp8": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build --prod",
package.json
{ "name": "www", "version": "6.8.21", "description": "www", "license": "MIT", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.config.json", "build": "set NODE_OPTIOnS=--max_old_space_size=4096 && ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "prod": "ng build --prod --vendor-chunk=true", "build-prod": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --prod", "bp": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --prod", "bp8": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build --prod", "bp16": "node --max_old_space_size=15000 ./node_modules/@angular/cli/bin/ng build --prod" }, "private": true, "dependencies": { "@angular/animations": "8.0.0-beta.6", "@angular/cdk": "7.3.7", "@angular/common": "8.0.0-beta.6", "@angular/compiler": "8.0.0-beta.6", "@angular/core": "8.0.0-beta.6", "@angular/forms": "8.0.0-beta.6", "@angular/http": "8.0.0-beta.6", "@angular/material": "7.3.7", "@angular/material-moment-adapter": "7.3.7", "@angular/platform-browser": "8.0.0-beta.6", "@angular/platform-browser-dynamic": "8.0.0-beta.6", "@angular/pwa": "0.13.7", "@angular/router": "8.0.0-beta.6", "@angular/service-worker": "8.0.0-beta.6", "angular2-baidu-map": "4.6.0", "core-js": "2.6.5", "hammerjs": "2.0.8", "immer": " 3.1.1", "moment": "2.24.0", "ng2-file-upload": "1.3.0", "ngx-toastr": "10.0.2", "reuse-tab": "1.0.5", "rxjs": "6.5.2", "rxjs-compat": "6.5.2", "web-animations-js": "2.3.1", "zone.js": "0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "0.13.9", "@angular/cli": "7.3.7", "@angular/compiler-cli": "8.0.0-beta.6", "@angular/flex-layout": "^7.0.0-beta.24", "@angularclass/hmr": "2.1.3", "@types/node": "12.0.0", "ts-node": "8.1.0", "typescript": "3.1.6" } } 1 maichael 2019 年 11 月 8 日 尝试更新一下 cli 的版本,反正官方的 issue 唯一说的就是让人更新 cli 版本。 |
2 vanton 2019 年 11 月 8 日 内存不足,跑的时候看下内存使用。 |
3 wszgrcy 2019 年 11 月 8 日 via Android 。。。这是多大的项目啊?我打包 3 分钟都觉得够卡的了,打包 ng 源码也才十几分钟 |
4 xiaomimix5 OP @wszgrcy 前端打包完成后的压缩包 3Mb 左右。。。。我要 30-50 分钟才能打完,真是羡慕这种 3 分钟的“快枪手”。。。 |
5 xiaomimix5 OP @vanton 我加到 16H 32G 的服务器,也是要 20 多分钟,没有明显的改善。 |
6 vanton 2019 年 11 月 8 日 @xiaomimix5 #5 可以看下这个 https://github.com/webpack/webpack/issues/8557 装下 babel-plugin-dynamic-import-node 插件。 这里说的是异步加载优化速度慢。 |
7 xiaomimix5 OP @vanton https://github.com/webpack/webpack/issues/8557 chunk graph very much slow 我的是 ModuleConcatenationPlugin 这里卡住了。耗时在这将近半小时。 |
8 yuuko 2019 年 11 月 8 日 angular 项目是我见过打包用时最长,内存使用最大的。。。docker 里面打包直接超过 docker 默认内存限制。。。 |
9 lswang 2019 年 11 月 9 日 via iPhone 不会吧,我之前项目好几万前端代码打包 2 到 3 分钟。后来用 angular6 的 cli,项目小了点,几十秒搞定 |
10 xiaomimix5 OP @lswang 所以,通过查看我贴出来的 package.json,能发现一些问题么 |
11 xiaomimix5 OP @lswang "bp88": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build --prod --aot=false --optimization=true --sourceMap=false --buildOptimizer=false" 我用此脚本打包后,速度 2 分钟内搞定了。 但是--aot=false -buildOptimizer=false 这影响到生产环境的性能了吧,没有对代码进行优化? |