本文是按著ng2官網(wǎng)的高級內(nèi)容“Deployment”的思路整理得出的,原文雖然在angular2的中文站下掛著,截止目前卻還是英文版未翻譯,筆者就在這里結(jié)合自己的理解給出原文的一點點整理。
這是原文地址:

1. 最簡單的發(fā)布流程

最簡單指的是開發(fā)完成好一個ng2應(yīng)用后,做最少的事情讓用戶能在自己的瀏覽器內(nèi)訪問到此應(yīng)用。從這句話出發(fā)就很容易想到,如何做到“最簡單”,自然就是什么都不做,把寫好的整個項目往服務(wù)器一扔搞定。
當(dāng)然,即使是對項目文件什么都不做,服務(wù)器還是得做一些事情來配合ng2開發(fā)的前后端完全分離的網(wǎng)站:

  • a. 調(diào)整index.html中的<base />標(biāo)簽的值,因為在服務(wù)器中的index.html不一定就在根目錄下,此時就必須指定其路徑。

  • b. 調(diào)整404錯誤頁,將所有的404錯誤都重定向到index.html,只有這樣才能不讓服務(wù)器的路由影響到我們ng2的前端路由(深層原因其實就是,我們在瀏覽器輸入地址時,地址先被服務(wù)器認(rèn)為是錯誤路徑給返回錯誤了,這就得讓服務(wù)器認(rèn)為地址有誤時將其原封不動重定向給index.html,讓其成功被客戶端路由識別)

  • c. 開啟生產(chǎn)模式,ng2默認(rèn)的引導(dǎo)都會開始開發(fā)模式,在引導(dǎo)的代碼里執(zhí)行 enableProdMode() 即可開啟生產(chǎn)模式

  • d. 簡化node_modules。 原因是開發(fā)項目時安裝的那一大堆(20500+的文件以及180M+的大小)npm包,其實絕大多數(shù)在App運行于瀏覽器時是用不著的,發(fā)布項目時,去掉其中用不著的那一大堆文件,自然能節(jié)省很大的空間。

2. 產(chǎn)品級優(yōu)化

接下來,為了優(yōu)化我們得產(chǎn)品,還需要做一些事情。

  • 網(wǎng)友評論