本文共 2342 字,讀完需 4 分鐘赏参,速讀需 1 分鐘志笼。這周發(fā)生了很多大事,百度掛完亞馬遜掛把篓,斯坦福還準(zhǔn)備開 JS 課程纫溃,看來(lái)訂閱這份周刊的同學(xué)都沒入錯(cuò)行。先糾正我之前的一個(gè)錯(cuò)誤韧掩,就是對(duì)于 Node.js 的叫法紊浩,有寫過(guò) NodeJS 的,也有寫過(guò) Node 的疗锐,但是官方的叫法是 Node.js坊谁。下面是本周的精彩內(nèi)容,請(qǐng)享用滑臊!
文章教程
編寫 Node.js Rest API 的 10 個(gè)最佳實(shí)踐
Node.js 除了用來(lái)編寫 WEB 應(yīng)用之外口芍,還可以用來(lái)編寫 API 服務(wù),本文會(huì)介紹編寫 Node.js Rest API 的最佳實(shí)踐雇卷,包括如何命名路由鬓椭、如何選擇框架颠猴、如何進(jìn)行認(rèn)證和測(cè)試、如何發(fā)送元數(shù)據(jù)等話題小染。翻譯自 RingStack翘瓮。
Node.js 最新 WEB 技術(shù)棧
由 Node.js 領(lǐng)域的狼叔整理,里面涵蓋了使用 Node.js 開發(fā) WEB 應(yīng)用的方方面面裤翩,按照他的路線圖资盅,要不了多久,你也能成為 JS 全棧工程師踊赠。
開發(fā)工具
Lerna:幫你管理包含多個(gè) package 的 JS 項(xiàng)目的工具
Lerna 是一款能夠幫你管理包含多個(gè) package 的 JS 項(xiàng)目的工具律姨,能夠帶來(lái)的便利是主 package、子 package 發(fā)版的管理臼疫,可能部分同學(xué)沒有這種痛點(diǎn)择份,但是如果你留心過(guò)大型的開源項(xiàng)目比如 webpack、babel 等的源代碼就會(huì)發(fā)現(xiàn)烫堤,這些項(xiàng)目都包含很多個(gè) package荣赶,他們都用了 Lerna。
代碼框架
Store.js:跨瀏覽器的通用瀏覽器端存儲(chǔ)方案
Store.js 是跨瀏覽器的瀏覽器端通用存儲(chǔ)解決方案鸽斟,會(huì)根據(jù)瀏覽器的支持情況智能選取最合適的存儲(chǔ)介質(zhì)拔创,目前發(fā)布了 2.0 版本,對(duì)于開發(fā)單頁(yè)應(yīng)用的同學(xué)來(lái)說(shuō)富蓄,是非常值得看看的剩燥。
CSSIcon:使用純 CSS 實(shí)現(xiàn)的圖標(biāo)庫(kù)
這是使用純 CSS 實(shí)現(xiàn)的圖標(biāo)庫(kù),沒有任何依賴立倍,你可以直接把 CSS 復(fù)制粘貼了拿去用灭红,里面包含了不少常用的其他圖標(biāo)庫(kù)需要依賴字體或者圖片才能實(shí)現(xiàn)的圖標(biāo),對(duì)動(dòng)畫的支持當(dāng)然不在話下口注。
HyperApp:小巧的变擒、類 Elm 架構(gòu)的 WEB 應(yīng)用構(gòu)建框架
HyperApp 是小巧的、類 Elm 架構(gòu)的 WEB 應(yīng)用構(gòu)建框架寝志,主要特性為聲明式娇斑、無(wú)狀態(tài)、內(nèi)置 JSX 支持材部。小巧到什么程度呢毫缆?無(wú)任何依賴,只有 1KB 大小乐导。喜歡折騰的同學(xué)可以看看苦丁。
Node.js 中角色和權(quán)限功能相關(guān)的庫(kù)
現(xiàn)代軟件系統(tǒng)不管是面向用戶的還是企業(yè)內(nèi)部的,權(quán)限控制都會(huì)是不可或缺的一部分兽叮,這篇 gitst 收錄了 Node.js 中跟角色權(quán)限相關(guān)的各種庫(kù)芬骄,包含了多種實(shí)現(xiàn)的模型。
找找靈感
Vue.js NewsLetter
類似于前端周刊的鹦聪,但是主題聚焦在 Vue.js 方面账阻,Vue.js 這款國(guó)產(chǎn)框架最近1年被采用的勢(shì)頭非常的迅猛,如果你正在學(xué)習(xí)泽本,這個(gè)不容錯(cuò)過(guò)淘太!里面也是收錄了大量的內(nèi)容,不過(guò)是英文的规丽。
視頻演講
QQ 會(huì)員活動(dòng)運(yùn)營(yíng)平臺(tái)架構(gòu)設(shè)計(jì)實(shí)踐
騰訊技術(shù)大牛在 SDCC 上所做的分享蒲牧,詳細(xì)展示了 QQ 會(huì)員活動(dòng)運(yùn)營(yíng)平臺(tái)架構(gòu)設(shè)計(jì)實(shí)踐,面臨的挑戰(zhàn)赌莺、解決方案冰抢,容量、安全艘狭、效率等方面的考量挎扰。如果想成為前端架構(gòu)師,這種學(xué)習(xí)不可少巢音!
精彩問答
圖片的 display 設(shè)置為 none 到底會(huì)不會(huì)下載遵倦?
很多同學(xué)可能會(huì)認(rèn)為,把圖片的樣式屬性 display 設(shè)置為 none 瀏覽器就不會(huì)下載他了官撼,我最近發(fā)現(xiàn)業(yè)務(wù)上有個(gè)加載慢的頁(yè)面就是因?yàn)檫@種認(rèn)識(shí)導(dǎo)致的梧躺,實(shí)際上結(jié)果不是二分的,而是隨著瀏覽器的進(jìn)化答案不同傲绣。
如何優(yōu)化 CPU 密集型的 Node.js 應(yīng)用掠哥?
通常來(lái)說(shuō) Node.js 只適合于開發(fā) IO 密集型的應(yīng)用,但是有時(shí)候你可能也會(huì)拿他來(lái)開發(fā) CPU 密集型的任務(wù)秃诵,這種情況下也是有辦法來(lái)進(jìn)行一些優(yōu)化龙致,來(lái)實(shí)現(xiàn)更高的性能的,這篇文章幫你解惑顷链。
JS 中的 void 到底有啥用目代?
JS 中的 void 到底有啥用?沒見過(guò)嗤练?這次算是開眼榛了,見過(guò)?那你知道他是用來(lái)干嘛的么煞抬?這篇文章都給你解釋清楚了霜大。
技術(shù)動(dòng)態(tài)
斯坦福大學(xué)準(zhǔn)備使用 JS 來(lái)做計(jì)算機(jī)入門課程
有人預(yù)言說(shuō),能用 JS 寫的革答,最終都會(huì)用 JS 寫战坤,我印象中國(guó)內(nèi)外沒有一家學(xué)校開設(shè)了 JS 或者前端課程曙强,但是斯坦福大學(xué)走在了前面,準(zhǔn)備采用 JS 作為計(jì)算機(jī)科學(xué)導(dǎo)論的編程語(yǔ)言途茫,并為此做好了充分準(zhǔn)備碟嘴。
AWS 的 S3 故障回顧和思考
繼 GitLab 的誤刪除數(shù)據(jù)事件沒幾天,“不沉航母” AWS S3 幾天前也“沉”了 4 個(gè)小時(shí)囊卜,墻外的半個(gè)互聯(lián)網(wǎng)也跟著掛了娜扇。按 AWS 慣例,AWS 今天給出了一個(gè)簡(jiǎn)單的故障報(bào)告栅组,簡(jiǎn)單來(lái)說(shuō)這個(gè)故障和 GitLab 一樣雀瓢,也是人員誤操作,他們是什么態(tài)度玉掸?后續(xù)怎么解決刃麸、完善?相信很值得借鑒司浪。
Visual Studio Code V1.10 發(fā)布
Visual Studio Code 可以說(shuō)是微軟發(fā)力之后的奮起直追嫌蚤,目前已經(jīng)在前端開發(fā)者中占有了不小的時(shí)長(zhǎng)份額,本次發(fā)版包含了大量改進(jìn)断傲,比如:Minimap 給你提供代碼的鳥瞰圖脱吱、編輯器內(nèi)的文本拖拽支持、自動(dòng)生成 JSDoc 等认罩。
One More Thing
想直接在微信中訂閱前端周刊箱蝠?掃下方二維碼關(guān)注前端周刊訂閱號(hào)。
想和我面對(duì)面交流垦垂?掃下方二維碼添加我為好友宦搬。
Happy Hacking