Angular2 發(fā)布思路

Angular2 發(fā)布思路

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

這是原文地址:

https://angular.cn/docs/ts/latest/guide/deployment.html

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

最簡單指的是開發(fā)完成好一個ng2應(yīng)用后,做最少的事情讓用戶能在自己的瀏覽器內(nèi)訪問到此應(yīng)用丁稀。從這句話出發(fā)就很容易想到吼拥,如何做到“最簡單”,自然就是什么都不做二驰,把寫好的整個項(xiàng)目往服務(wù)器一扔搞定扔罪。

當(dāng)然,即使是對項(xiàng)目文件什么都不做桶雀,服務(wù)器還是得做一些事情來配合ng2開發(fā)的前后端完全分離的網(wǎng)站:

a. 調(diào)整index.html中的標(biāo)簽的值,因?yàn)樵诜?wù)器中的index.html不一定就在根目錄下唬复,此時就必須指定其路徑矗积。

b. 調(diào)整404錯誤頁,將所有的404錯誤都重定向到index.html敞咧,只有這樣才能不讓服務(wù)器的路由影響到我們ng2的前端路由(深層原因其實(shí)就是棘捣,我們在瀏覽器輸入地址時,地址先被服務(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ā)項(xiàng)目時安裝的那一大堆(20500+的文件以及180M+的大小)npm包,其實(shí)絕大多數(shù)在App運(yùn)行于瀏覽器時是用不著的砌些,發(fā)布項(xiàng)目時呜投,去掉其中用不著的那一大堆文件加匈,自然能節(jié)省很大的空間。

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

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

AOT編譯

全稱是 Ahead-of-Time compilation粘招。明確點(diǎn)講啥寇,就是默認(rèn)情況下ng2使用的是即時編譯的方式,App運(yùn)行過程中需要使用到哪個模塊了洒扎,就找到它然后編譯它辑甜,然后才運(yùn)行,別的且不說逊笆,實(shí)時編譯相比預(yù)編譯要多使用一個Angular Compiler栈戳,聽起來就能想到這會拖慢速度,實(shí)際上拖慢了不是一點(diǎn)兩點(diǎn)难裆,是一大半甚至更多子檀,這貨體積賊大。

使用webpack(包括AOT)

webpack是用于代替默認(rèn)的SystemJS的模塊化工具乃戈,可以說使用SystemJS進(jìn)行ng2的打包只是在試水鬧著玩褂痰,如果要上升到產(chǎn)品級別,webpack要強(qiáng)大得多症虑,包括了預(yù)編譯以及代碼壓縮缩歪,而不是像SystemJS那樣,每使用到新的模塊甚至組件模板都要發(fā)起請求來獲取谍憔。

使用rollup消除無用代碼

這指的是搖樹優(yōu)化匪蝙,完成的事情是自動去除掉不再使用的代碼,來減小體積习贫,不過需要我們具體去完成的事情好像沒有逛球,這個ng2自己幫我們完成了。

修剪庫依賴

說的好像是可以進(jìn)一步修剪使用到的庫苫昌,舉了個例子是RxJS颤绕,這個庫在開發(fā)ng2時會使用到其中的部分功能,比如說Observable祟身,但更多時候也只有這一個模塊被用到了奥务,所以可以只引入一個Observable。這其實(shí)是ng2自身還存在的一點(diǎn)點(diǎn)美中不足袜硫,至少筆者就感覺很怪氯葬,為什么用著@angular/xxx的包,還得引入個rxjs或者Observable父款,期待ng2后續(xù)的版本會給出更優(yōu)雅的方式吧溢谤。

性能測試優(yōu)先

講的就是通過性能測試手段來優(yōu)化產(chǎn)品了

3. 原文后面還分ng2端與服務(wù)端重新理了一遍上面講到的

ng2端要做的事情有:

a. 標(biāo)簽的路徑配置

b. 開啟ng2的生產(chǎn)模式

c. 使用模塊懶加載(路由中使用loadChildren)

原文還寫了一小段來說不需要把懶加載模塊import進(jìn)立即加載的模塊中(比如把一個懶加載模塊import在了根模塊里)瞻凤,這其實(shí)不會懶加載,模塊還是跟隨根模塊一起被加載了世杀。

服務(wù)端要做的事情有:

a. 錯誤頁都要重定向到index.html(防止丟失前端路由)

b. 跨域配置(前后端分離的應(yīng)用通常要解決的問題)

作者:Yitimo

鏈接:http://www.reibang.com/p/a4f067940649

來源:簡書

著作權(quán)歸作者所有阀参。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處瞻坝。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛛壳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子所刀,更是在濱河造成了極大的恐慌衙荐,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浮创,死亡現(xiàn)場離奇詭異忧吟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)斩披,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門溜族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人垦沉,你說我怎么就攤上這事煌抒。” “怎么了厕倍?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵寡壮,是天一觀的道長。 經(jīng)常有香客問我讹弯,道長况既,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任组民,我火速辦了婚禮坏挠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邪乍。我一直安慰自己,他們只是感情好对竣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布庇楞。 她就那樣靜靜地躺著,像睡著了一般否纬。 火紅的嫁衣襯著肌膚如雪吕晌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天临燃,我揣著相機(jī)與錄音睛驳,去河邊找鬼烙心。 笑死,一個胖子當(dāng)著我的面吹牛乏沸,可吹牛的內(nèi)容都是我干的淫茵。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蹬跃,長吁一口氣:“原來是場噩夢啊……” “哼匙瘪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝶缀,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤丹喻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后翁都,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碍论,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年柄慰,在試婚紗的時候發(fā)現(xiàn)自己被綠了鳍悠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡先煎,死狀恐怖贼涩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情薯蝎,我是刑警寧澤遥倦,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站占锯,受9級特大地震影響袒哥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜消略,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一堡称、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧艺演,春花似錦却紧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伤提,卻和暖如春巫俺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肿男。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工介汹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留却嗡,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓嘹承,卻偏偏與公主長得像窗价,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赶撰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理舌镶,服務(wù)發(fā)現(xiàn),斷路器豪娜,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,858評論 25 707
  • 夜深人靜的時候餐胀,我耳旁總響起村里那條河浩浩蕩蕩奔涌而去的流水聲,仿佛又聽見那首童謠:“小河流水嘩啦啦瘤载,青蛙都在叫媽...
    安遠(yuǎn)閱讀 573評論 2 5
  • 一頓操作后... 總資產(chǎn)折合: 0.36228963 BTC ≈ 20552.76 CNY 虧損39 448...
    老賽閱讀 260評論 0 0
  • 睡到中午起床否灾。下午嘗試一邊FIFA一邊FM,結(jié)果證明我的FIFA手感徹底回不來了……前所未有的D3五連敗鸣奔,感覺是時...
    真晝之月閱讀 154評論 0 0