2018——8條經(jīng)驗(yàn)構(gòu)建更好的node.js程序

翻譯自:8 Tips to Build Better Node.js Apps in 2018

在過(guò)去的兩年中惜论,我們探索了編寫(xiě)和運(yùn)用node.js的最佳實(shí)踐(請(qǐng)閱讀2016版2017版)。又一年過(guò)去了止喷,是時(shí)候讓我們?cè)倩氐竭@個(gè)話題馆类,來(lái)看如何成為一個(gè)更好的開(kāi)發(fā)者。

在這篇文章中弹谁,我們收集了一些我們認(rèn)為在2018年Node.js開(kāi)發(fā)者應(yīng)該遵循的經(jīng)驗(yàn)乾巧。畢竟獲取一些和新年計(jì)劃相關(guān)的提升是很暢快的。

1预愤、使用 async - await

async - await 作為Node.js 8 重大特性出現(xiàn)沟于。它改變了我們處理異步事件的方式,并且簡(jiǎn)化了之前難以駕馭的編碼方式鳖粟。如果你還沒(méi)有使用async-await請(qǐng)閱讀我們的文章 introductory blog post社裆。

復(fù)習(xí)一遍我們之前講過(guò)的 async programming and Promises 也會(huì)是有幫助的。

2向图、了解 import和import()

ES modules 已經(jīng)通過(guò)編譯包@std/esm 被廣泛使用了泳秀。從Node.js 8.5開(kāi)始标沪,開(kāi)啟--experimental-modules 就可以支持這個(gè)功能了,不過(guò)要很久之后才會(huì)變成正式的功能嗜傅。

我們建議你從現(xiàn)在開(kāi)始學(xué)習(xí)這個(gè)功能并且在2018年持續(xù)關(guān)注它金句。 你可以在這里找到一個(gè)簡(jiǎn)單的Node.js ES modules 教程。

3吕嘀、熟悉HTTP/2

從Node.js 8.8開(kāi)始不用任何選項(xiàng)就可以使用HTTP/2了违寞。HTTP/2 的后端push和多路傳輸功能為瀏覽器高效的加載本地包鋪平了道路。很多框架例如Koa 和 Hapi 都部分的支持HTTP/2, 而Express 和Meteor 也都開(kāi)始著手支持偶房。

HTTP/2 在Node.js中仍然處于試驗(yàn)階段趁曼,但是我們預(yù)計(jì)在2018年會(huì)有更多的新包支持它。你可以在我們的文章HTTP/2 blog post中了解更多的關(guān)于HTTP/2的話題棕洋。

4挡闰、不再為代碼風(fēng)格爭(zhēng)論

Prettier在2017年產(chǎn)生了重大影響。它是一個(gè)嚴(yán)格的代碼格式化包掰盘,能夠在格式化代碼的同時(shí)消除掉簡(jiǎn)單的代碼風(fēng)格上的警告(warnings)摄悯。 但是,它沒(méi)辦法自動(dòng)改正代碼質(zhì)量上的錯(cuò)誤——如no-unused-varsno-implicit-globals愧捕。

實(shí)質(zhì)上奢驯,在接下來(lái)的項(xiàng)目中你應(yīng)該將Prettier和老牌的linter一起使用。這回非常有用次绘,尤其是你的團(tuán)隊(duì)中有讀寫(xiě)困難者的時(shí)候瘪阁。

5、構(gòu)建安全的Noje.js應(yīng)用

每年都會(huì)有重大的安全漏洞和新的缺陷断盛,2017年也不例外罗洗。安全是一個(gè)變化很快的話題,我們不能忽視它钢猛。怎樣構(gòu)建安全的Node.js伙菜,閱讀我們的文章Node.js Security Checklist

如果你認(rèn)為你的程序已經(jīng)是安全的命迈,可以用SnykNode Security Platform 來(lái)找到軟件中隱藏的缺陷贩绕。

6、擁抱微服務(wù)

如果你在開(kāi)發(fā)中總是遇到問(wèn)題壶愤,或者即將開(kāi)發(fā)大型項(xiàng)目淑倾,可能是時(shí)候擁抱微服務(wù)架構(gòu)了。學(xué)習(xí)下面兩種技術(shù)在2018年的微服務(wù)場(chǎng)景中能夠齊頭并進(jìn)征椒。

Docker 是一個(gè)提供容器服務(wù)的軟件技術(shù)娇哆,它將一個(gè)軟件和其運(yùn)行所需要的所有環(huán)境都打包在一個(gè)完整的文件系統(tǒng)里,例如:代碼,運(yùn)行時(shí)碍讨,系統(tǒng)工具和系統(tǒng)包治力。

Kubernetes 是一個(gè)開(kāi)源的系統(tǒng),用來(lái)自動(dòng)部署勃黍,彈性伸縮宵统,管理容器應(yīng)用。

在深入研究容器和服務(wù)編排之前覆获,你可以先提升已有的代碼來(lái)熱身马澈。遵循方法12-factor app ,在你使用容器打包和發(fā)布你服務(wù)的時(shí)候會(huì)容易的多弄息。

7痊班、給服務(wù)添加監(jiān)控

要在你的用戶(hù)反饋bug之前修復(fù)問(wèn)題。監(jiān)控和報(bào)警是軟件開(kāi)發(fā)中非常重要一部分摹量,但是梳理一個(gè)復(fù)雜的微服務(wù)系統(tǒng)不是一件容易的事辩块。幸運(yùn)的是,在這方面伴隨著幾個(gè)工具的不斷改善發(fā)展非常迅速荆永。請(qǐng)看一下future of monitoring holds 或者學(xué)習(xí)一下現(xiàn)在的 OpenTracing 標(biāo)準(zhǔn)

如果你是個(gè)動(dòng)手能力較強(qiáng)的人,我們的 Prometheus 教程 會(huì)給你一個(gè)關(guān)于監(jiān)控的全面介紹国章。

8具钥、開(kāi)發(fā)或參與開(kāi)源項(xiàng)目

你有喜歡的Node.js開(kāi)源項(xiàng)目嗎?他們很可能需要你的幫助才能變得更好液兽。只要找到一個(gè)你感興趣的issue就可以開(kāi)始編碼了骂删。

如果你不知道怎么開(kāi)始,瀏覽一遍這幾個(gè)建議或者看一下這篇關(guān)于如何在GitHub上參與開(kāi)源項(xiàng)目課程四啰。做是最好的學(xué)習(xí)方法宁玫,尤其對(duì)于程序員來(lái)說(shuō)。

你有哪些Node.js開(kāi)發(fā)的建議柑晒?

在2018年欧瘪,你有什么好的建議推薦給你的Node.js開(kāi)發(fā)同事?請(qǐng)?jiān)谠u(píng)論區(qū)留言匙赞!

希望你擁有一個(gè)美好的2018佛掖。快樂(lè)編程涌庭!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芥被,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坐榆,更是在濱河造成了極大的恐慌拴魄,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異匹中,居然都是意外死亡夏漱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)职员,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)麻蹋,“玉大人,你說(shuō)我怎么就攤上這事焊切“缡冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵专肪,是天一觀的道長(zhǎng)刹勃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)嚎尤,這世上最難降的妖魔是什么荔仁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮芽死,結(jié)果婚禮上乏梁,老公的妹妹穿的比我還像新娘。我一直安慰自己关贵,他們只是感情好遇骑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著揖曾,像睡著了一般落萎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炭剪,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天练链,我揣著相機(jī)與錄音,去河邊找鬼奴拦。 笑死媒鼓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的错妖。 我是一名探鬼主播隶糕,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼站玄!你這毒婦竟也來(lái)了枚驻?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤株旷,失蹤者是張志新(化名)和其女友劉穎再登,沒(méi)想到半個(gè)月后尔邓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锉矢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年梯嗽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽损。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灯节,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绵估,到底是詐尸還是另有隱情炎疆,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布国裳,位于F島的核電站形入,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缝左。R本人自食惡果不足惜亿遂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渺杉。 院中可真熱鬧蛇数,春花似錦、人聲如沸是越。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蔗衡,卻和暖如春膘魄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慢哈。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腿倚。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蚯妇,于是被迫代替她去往敵國(guó)和親敷燎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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