Angular應(yīng)用打包和部署實現(xiàn)過程詳解
應(yīng)用打包
對 Angular 應(yīng)用打包,只需要執(zhí)行下面的命令即可:
ng build
命令輸出結(jié)果如下:
chunk {main} main.js, main.js.map (main) 22.4 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 141 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 12.5 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 2.22 MB [initial] [rendered]
Date: 2022-06-05T08:13:29.036Z - Hash: 320a98b795509f74dda8 - Time: 6897ms
構(gòu)建過程會啟動 Angular 編譯器,主要收集應(yīng)用中的所有 TypeScript 源文件,轉(zhuǎn)換為 JavaScript 文件。在默認配置下,編譯器會將 JavaScript 文件輸出到 dist 文件夾。

開發(fā)模式構(gòu)建
輸出文件夾主要包含下列文件:
- favicon.ico: 應(yīng)用的圖標,如顯示在瀏覽器標題欄上
- index.html: 應(yīng)用的主 HTML 文件
- main.js: 包含了開發(fā)的應(yīng)用代碼
- polyfills.js: 提供遺留瀏覽器的兼容支持
- runtime.js: 包含了 Angular CLI 相關(guān)的代碼,能夠運行其他文件
- styles.js: 包含了應(yīng)用的全局樣式
- vendor.js: 包含了 Angular 框架和其他第三方類庫
此外,dist 文件夾還包括了 .map 結(jié)尾的文件,主要用于調(diào)試目的。
在構(gòu)建生成的 index.html 文件中,引用了編譯器輸出的 JavaScript 文件:
<!doctype html> <html lang=“en”> <head> <meta charset="utf-8”> <title>BookStore</title> <base href=“/“> <meta name="viewport" content="width=device-width, initial-scale=1”> <link rel="icon" type="image/x-icon" href=“favicon.ico”> </head> <body> <app-root></app-root> <script src="runtime.js" defer></script> <script src="polyfills.js" defer></script> <script src="styles.js" defer></script> <script src="vendor.js" defer></script> <script src="main.js" defer></script> </body> </html>
Angular CLI 構(gòu)建命令可以在兩種模式下運行: 開發(fā)模式和生產(chǎn)模式。 默認使用開發(fā)模式,如直接運行 ng build。如果選擇生產(chǎn)模式,需要添加命令選項:
ng build --configuration=production
或者使用快捷命令選項:
ng build —prod
使用生產(chǎn)模式構(gòu)建應(yīng)用,輸出文件如下所示:

生產(chǎn)模式構(gòu)建
與使用開發(fā)模式構(gòu)建應(yīng)用不同的是,輸出的文件不再包含 .map 文件,不需要對生產(chǎn)代碼進行調(diào)試。另外,輸出的 JavaScript 文件和 CSS 文件,都包含了一個哈希值,可以讓瀏覽器緩存的文件盡快失效,讓新文件發(fā)揮作用。
限制包大小
隨著應(yīng)用功能的增多,構(gòu)建應(yīng)用的輸出文件會越來越大。我們可以在 angular.json 文件中增加一些配置項,限制應(yīng)用包文件的大小。例如:
"budgets": [
{
"type": “initial”,
"maximumWarning": “2mb”,
"maximumError": “5mb”
},
{
"type": “anyComponentStyle”,
"maximumWarning": “6kb”,
"maximumError": “10kb”
}
]上述配置,都是 Angular CLI 命令創(chuàng)建的默認配置。我們可以自定義不同類型的配置,也可以按百分比限制文件大小。
更多的配置選項,可以參考官方文檔。
部署應(yīng)用
部署一個 Angular 應(yīng)用是簡單的,只需要把輸出文件夾 dist 的全部文件,拷貝到服務(wù)器的相應(yīng)路徑下即可。
如果你想部署到另外一個目錄下面,而非根目錄,可以使用 ng buld 命令的 --base-href 選項,如下:
ng build --prod --base-href=/myapp/
上述命令會改變 index.html 文件的 base 標簽的值:
<base href="/myapp”>
以上就是Angular應(yīng)用打包和部署實現(xiàn)過程詳解的詳細內(nèi)容,更多關(guān)于Angular 應(yīng)用打包部署的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Angular material主題定義自己的組件庫的配色體系
這篇文章主要介紹了使用Angular material主題定義自己的組件庫的配色體系的相關(guān)知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
淺談angular2的http請求返回結(jié)果的subcribe注意事項
下面小編就為大家?guī)硪黄獪\談angular2的http請求返回結(jié)果的subcribe注意事項。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
AngularJs Managing Service Dependencies詳解
本站主要介紹AngularJs Managing Service Dependencies的知識資料,這里整理相關(guān)知識,及簡單示例代碼,有興趣的小伙伴可以參考下2016-09-09
Angularjs在初始化未完畢時出現(xiàn)閃爍問題的解決方法分析
這篇文章主要介紹了Angularjs在初始化未完畢時出現(xiàn)閃爍問題的解決方法,結(jié)合實例形式分析了3種常用的閃爍問題解決方法,需要的朋友可以參考下2016-08-08
深入解析Angular動態(tài)導(dǎo)入和懶加載實例
這篇文章主要為大家深入解析了Angular動態(tài)導(dǎo)入和懶加載實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

