依賴Webpack bundle analyzer對Angular打包構建的包進行分析

1通熄、安裝依賴? npm install webpack-bundle-analyzer@^3.0.3

2、對package.json文件進行配置

scripts下添加一條指令:"bundle-report": "webpack-bundle-analyzer dist/stats.json"

3、對angular.json文件進行配置?

????????????"outputPath": "dist",

architect配置如下

"architect": {

? "build": {

? ? "builder": "@angular-devkit/build-angular:browser",

? ? "options": {

? ? ? "outputPath": "dist",

? ? ? "index": "src/index.html",

? ? ? "main": "src/main.ts",

? ? ? "tsConfig": "src/tsconfig.app.json",

? ? ? "polyfills": "src/polyfills.ts",

? ? ? "assets": [

? ? ? ? "src/assets",

? ? ? ? "src/favicon.ico",

? ? ? ? {

? ? ? ? ? "glob": "**/*",

? ? ? ? ? "input": "./node_modules/@ant-design/icons-angular/src/inline-svg/",

? ? ? ? ? "output": "/assets/"

}

? ? ? ],

? ? ? "styles": [

? ? ? ? "node_modules/bootstrap/dist/css/bootstrap.css",

? ? ? ? "node_modules/font-awesome/css/font-awesome.css",

? ? ? ? "node_modules/ngx-bootstrap/datepicker/bs-datepicker.css",

? ? ? ? "node_modules/ng-zorro-antd/src/ng-zorro-antd.less",

? ? ? ? "src/styles.scss",

? ? ? ? "src/animate.css"

? ? ? ],

? ? ? "scripts": [

? ? ? ? "node_modules/jquery/dist/jquery.js",

? ? ? ? "node_modules/echarts/dist/echarts.min.js",

? ? ? ? "src/assets/js/fingerprint.js",

? ? ? ? "node_modules/echarts/lib/chart/map/china.js"

? ? ? ]

? ? },

? ? "configurations": {

? ? ? "test": {

? ? ? ? "optimization": false,

? ? ? ? "outputHashing": "all",

? ? ? ? "sourceMap": false,

? ? ? ? "extractCss": true,

? ? ? ? "namedChunks": false,

? ? ? ? "aot": true,

? ? ? ? "extractLicenses": true,

? ? ? ? "vendorChunk": false,

? ? ? ? "buildOptimizer": false,

? ? ? ? "fileReplacements": [

? ? ? ? ? {

? ? ? ? ? ? "replace": "src/environments/environment.ts",

? ? ? ? ? ? "with": "src/environments/environment.test.ts"

? ? ? ? ? }

? ? ? ? ]

? ? ? },

? ? ? "production": {

? ? ? ? "optimization": true,? //? optimization buildOptimizer 兩個參數(shù)改為false不壓縮掘宪,打包后提交大一倍煞肾,但是構建時間減少一倍中贝,上生產改成true梢莽,測試為false

? ? ? ? "outputHashing": "all",

? ? ? ? "sourceMap": false,

? ? ? ? "extractCss": true,

? ? ? ? "namedChunks": false,

? ? ? ? "aot": true,

? ? ? ? "extractLicenses": true,

? ? ? ? "vendorChunk": false,

? ? ? ? "buildOptimizer": true,

? ? ? ? "fileReplacements": [

? ? ? ? ? {

? ? ? ? ? ? "replace": "src/environments/environment.ts",

? ? ? ? ? ? "with": "src/environments/environment.prod.ts"

? ? ? ? ? }

? ? ? ? ]

? ? ? }

? ? }

? },

? "serve": {

? ? "builder": "@angular-devkit/build-angular:dev-server",

? ? "options": {

? ? ? "browserTarget": "micro-service:build",

? ? ? "proxyConfig": "proxy.config.json"

? ? },

? ? "configurations": {

? ? ? "test": {

? ? ? ? "browserTarget": "micro-service:build:test"

? ? ? },

? ? ? "production": {

? ? ? ? "browserTarget": "micro-service:build:production"

}

? ? }

? },

? "extract-i18n": {

? ? "builder": "@angular-devkit/build-angular:extract-i18n",

? ? "options": {

? ? ? "browserTarget": "micro-service:build"

? ? }

? },

? "test": {

? ? "builder": "@angular-devkit/build-angular:karma",

? ? "options": {

? ? ? "main": "src/test.ts",

? ? ? "karmaConfig": "./karma.conf.js",

? ? ? "polyfills": "src/polyfills.ts",

? ? ? "tsConfig": "src/tsconfig.spec.json",

? ? ? "scripts": [

? ? ? ? "node_modules/jquery/dist/jquery.js",

? ? ? ? "node_modules/popper.js/dist/umd/popper.js",

? ? ? ? "node_modules/echarts/dist/echarts.min.js",

? ? ? ? "src/assets/js/fingerprint.js",

? ? ? ? "node_modules/echarts/lib/chart/map/china.js"

? ? ? ],

? ? ? "styles": [

? ? ? ? "node_modules/bootstrap/dist/css/bootstrap.css",

? ? ? ? "node_modules/font-awesome/css/font-awesome.css",

? ? ? ? "node_modules/ngx-bootstrap/datepicker/bs-datepicker.css",

? ? ? ? "node_modules/ng-zorro-antd/src/ng-zorro-antd.less",

? ? ? ? "src/styles.scss",

? ? ? ? "src/animate.css"

? ? ? ]

}

? },

? "lint": {

? ? "builder": "@angular-devkit/build-angular:tslint",

? ? "options": {

? ? ? "tsConfig": [

? ? ? ? "src/tsconfig.app.json",

? ? ? ? "src/tsconfig.spec.json"

? ? ? ],

? ? ? "exclude": [

? ? ? ? "**/node_modules/**"

? ? ? ]

}

? }

}


4萧豆、執(zhí)行ng build --prod --stats-json

5、最后執(zhí)行npm run bundle-report 會單獨打開一個頁面展示如下蟹漓,可以一目了然的看到各個模塊大小和nginx壓縮后的大小


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末炕横,一起剝皮案震驚了整個濱河市源内,隨后出現(xiàn)的幾起案子葡粒,更是在濱河造成了極大的恐慌份殿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗽交,死亡現(xiàn)場離奇詭異卿嘲,居然都是意外死亡,警方通過查閱死者的電腦和手機夫壁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門拾枣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盒让,你說我怎么就攤上這事梅肤。” “怎么了邑茄?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵姨蝴,是天一觀的道長。 經常有香客問我肺缕,道長左医,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任同木,我火速辦了婚禮浮梢,結果婚禮上,老公的妹妹穿的比我還像新娘彤路。我一直安慰自己秕硝,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布洲尊。 她就那樣靜靜地躺著缝裤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颊郎。 梳的紋絲不亂的頭發(fā)上憋飞,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音姆吭,去河邊找鬼榛做。 笑死,一個胖子當著我的面吹牛内狸,可吹牛的內容都是我干的检眯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昆淡,長吁一口氣:“原來是場噩夢啊……” “哼锰瘸!你這毒婦竟也來了?” 一聲冷哼從身側響起昂灵,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤避凝,失蹤者是張志新(化名)和其女友劉穎舞萄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體管削,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡倒脓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了含思。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崎弃。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖含潘,靈堂內的尸體忽然破棺而出饲做,到底是詐尸還是另有隱情,我是刑警寧澤遏弱,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布艇炎,位于F島的核電站,受9級特大地震影響腾窝,放射性物質發(fā)生泄漏缀踪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一虹脯、第九天 我趴在偏房一處隱蔽的房頂上張望驴娃。 院中可真熱鬧,春花似錦循集、人聲如沸唇敞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疆柔。三九已至,卻和暖如春镶柱,著一層夾襖步出監(jiān)牢的瞬間旷档,已是汗流浹背僵蛛。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工兄渺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刹碾。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓故觅,卻偏偏與公主長得像厂庇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子输吏,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容