如何打造一個令人愉悅的前端開發(fā)環(huán)境(三)

往期回顧

前面2期都講得是瀏覽器端的東西比較多,包括Webpack蒋情,雖然是Node處理的埠况,但是還是瀏覽器端用的多,對于現(xiàn)在的前端開發(fā)來說棵癣,不懂一點服務(wù)端的東西辕翰,簡直沒辦法活,一般的招聘要求都會加上要懂一門服務(wù)端的語言狈谊,例如:PHP喜命,Java之類的啦。如圖所示:

知乎的招聘

所以我們這期就講Node的東西河劝。

程咬金的三板斧

一壁榕、劈腦袋 -- 工具鏈

Node在前端領(lǐng)域使用最為廣泛的就是工具鏈了,一期提到的構(gòu)建工具都是Node寫的赎瞎,當(dāng)然還有其他很多工具牌里,比如:京東工程化百度開源構(gòu)建工具FIS3务甥,微信發(fā)布的工作流工具等等一系列前端工具都是用Node寫的二庵。廣泛的說贪染,我認為一期提到的編輯器也算工具鏈的中的一種,Atom催享,vs code杭隙,Brackets都和Node密不可分。我個人感覺因妙,Node的發(fā)展痰憎,實際上大大解放了前端的生產(chǎn)力,對于其他的服務(wù)端語言的依賴基本可以說降到最低攀涵,可以依據(jù)自己的需要編寫工具來完成技術(shù)目標(biāo)铣耘。

這方面大家也可以自己來產(chǎn)出下,例如我自己寫了個小工具供自己使用:
vuejs 格式化 Atom插件
現(xiàn)在下載量也不錯以故,有2000多了蜗细,還有好幾個issues沒有處理,哭E辍炉媒!

二、鬼剔牙 -- 中間層

對于很多FE來說昆烁,要搭建一個后端環(huán)境很是麻煩吊骤,而且不熟悉,容易出錯(java静尼,ruby白粉,php),最糟的是自己不懂鼠渺,出錯了完全不會調(diào)試鸭巴,你的表情此時是這樣的:


懵逼

那么在13、14年的時候拦盹,淘寶的前端團隊鹃祖,開始連續(xù)發(fā)文,前后端分離的思考和實踐系列文章掌敬,提到了中途島計劃,也就是把Node作為前端和服務(wù)端的中間層池磁,也就是這個架構(gòu)奔害,

網(wǎng)站架構(gòu)

從這種圖,不難看出地熄,Node取代原來php华临,java干的一部分事情,也就是我們常說的MVC框架中的VC基本都給Node來干端考,F(xiàn)E干的事情更多了雅潭,能掌握的東西多了揭厚,意味著對于自己更加靈活,可以考慮更多的組件化扶供,工程化筛圆,性能監(jiān)控,數(shù)據(jù)分析的事情椿浓。

這方面的實踐大家可以參考美團這邊的圖文:

美團酒店

美團酒店Node全棧開發(fā)實踐

三太援、掏耳朵 -- 火熱的全棧

Full Stack developer 是近年來熱炒的一個概念,究其原因扳碍,跟Node的火熱不無關(guān)系提岔,早些年講,一個人(大牛不算普通人)既要精通java又要精通js笋敞,html碱蒙,css還是很困難,很多思維都不太一樣夯巷,分開也很正常赛惩,而Node的出現(xiàn),為很多比較厲害的前端提供了切入到服務(wù)端的機會鞭莽,語言層面的問題不在是難點坊秸,重要的對服務(wù)端的知識點的熟悉程度。Node的最后一個大招就是替換一些傳統(tǒng)的服務(wù)端語言澎怒,例如php褒搔,ruby,java等喷面,在業(yè)務(wù)層上面使用Node來開發(fā)服務(wù)端完全不成問題星瘾。

例如: uber的調(diào)度系統(tǒng)幾乎都是用 node.js 編寫的

這方面的文章也有很多了,大家可以自己去搜搜看惧辈,包括各種框架琳状,還有各種開源系統(tǒng),都可以找到盒齿。當(dāng)然也還有各種各樣的坑和問題以待大家去踩和解決念逞。

說說自家事

我們公司來說的話,三板斧基本都用上了边翁,打包構(gòu)建自不用談翎承,基本每個前端都會用到,第二板斧我們公司已經(jīng)基本切換過來了符匾,年后3月啟動叨咖,目前是所有的web頁面都是Node作為中間層,替換了php的渲染,中間自然有很多的困難要克服甸各,但整體上來說開發(fā)的效率還是大大提升垛贤,不需要在配置php的環(huán)境,也不用在關(guān)心各種環(huán)境的依賴趣倾,整體上自己的一個獨立的服務(wù)聘惦,使用接口的形式和服務(wù)端通信。

那么三板斧為何會用到誊酌,主要是目前國內(nèi)最常見的mobile的web頁面部凑,基本在微信里面流傳,然后這些頁面還需要一定的數(shù)據(jù)交互碧浊,而且這種頁面的特點就是短平快涂邀,不需要那么嚴謹,這種頁面特別適合前端自己一擼到底箱锐,前后端通吃比勉,接上 MongoDB當(dāng)做數(shù)據(jù)庫,基本兩三天之內(nèi)就能開發(fā)一個活動頁面出來驹止,不需要對其他服務(wù)有任何依賴浩聋,包括微信授權(quán)都可以自己搞定,工作量其實比對接其他語言服務(wù)大不了多少臊恋,某些方面衣洁,我個人認為還減少了很多的溝通成本。

痛點-- 造就了自己的一個開源

express的路由插件

先說說這個插件做什么的: 主要是自動的加載express框架下面的路由抖仅,免得一個一個路由需要手寫坊夫。

通常我們在express框架下面,寫路由的時候都是一個一個的手寫撤卢,然后在app.js里面去一個一個引用环凿,一般是這樣子的

手寫路由

那么好一點的情況,是這樣子的放吩,分散每一個相同名字的路由到文件中智听,然后引用文件在app.js里面。

代碼少了不少

但實際上你可能在項目中路由情況是這樣子的

路由列表

你有什么想法渡紫?

我要報警了

雖然這樣子也就是一個文件多兩行代碼到推,我還是不爽,我為什么要因為同一個規(guī)則而去多寫這兩個代碼惕澎,而且10個兩行莉测,就是20行,原則上集灌,能用機器干的事情悔雹,就不人干,而且PHP的一些MVC框架可以自動加載路由欣喧,他們會有一個文件夾的分層腌零,很明顯,路由都放到Controller文件夾下唆阿,然后根據(jù)路由名來匹配文件名的相應(yīng)action益涧,依據(jù)這個我自己就擼了一個express的自動加載路由,然后考慮了下一些特殊情況驯鳖,做了點配置闲询,不過目前只是支持一級目錄,沒有考慮多級目錄情況浅辙,有需要可以自己添加扭弧,或者給我提issues。

照例總結(jié)

本篇文章主要講的是關(guān)于Node的東東记舆,它的使用方向鸽捻,更偏向結(jié)合前端的使用,并非是很深入的Node原理泽腮,也算是給很多前端解惑下御蒲,為什么要使用Node,以及如何使用Node诊赊,不要盲目的聽信別人的建議厚满,需要結(jié)合自己項目情況,技術(shù)水平碧磅,以及團隊配比碘箍。

更多的Node的使用細節(jié)和技巧建議關(guān)注:

美團博客

大搜車

cnode論壇

下一篇我們開啟如何結(jié)合Webpack和express 搭建一個開發(fā)環(huán)境和項目目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市续崖,隨后出現(xiàn)的幾起案子敲街,更是在濱河造成了極大的恐慌,老刑警劉巖严望,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件多艇,死亡現(xiàn)場離奇詭異,居然都是意外死亡像吻,警方通過查閱死者的電腦和手機峻黍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拨匆,“玉大人姆涩,你說我怎么就攤上這事〔衙浚” “怎么了骨饿?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵亏栈,是天一觀的道長。 經(jīng)常有香客問我宏赘,道長绒北,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任察署,我火速辦了婚禮闷游,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贴汪。我一直安慰自己脐往,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布扳埂。 她就那樣靜靜地躺著业簿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阳懂。 梳的紋絲不亂的頭發(fā)上辖源,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音希太,去河邊找鬼克饶。 笑死,一個胖子當(dāng)著我的面吹牛誊辉,可吹牛的內(nèi)容都是我干的矾湃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼堕澄,長吁一口氣:“原來是場噩夢啊……” “哼邀跃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛙紫,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拍屑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坑傅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僵驰,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年唁毒,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒜茴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡浆西,死狀恐怖粉私,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情近零,我是刑警寧澤诺核,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布抄肖,位于F島的核電站,受9級特大地震影響窖杀,放射性物質(zhì)發(fā)生泄漏憎瘸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一陈瘦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧潮售,春花似錦苦银、人聲如沸刺桃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磅叛。三九已至,卻和暖如春纷责,著一層夾襖步出監(jiān)牢的瞬間哼丈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工训枢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留托修,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓恒界,卻偏偏與公主長得像睦刃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子十酣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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