摘要:的最后一個大招就是替換一些傳統的服務端語言,例如,,等,在業務層上面使用來開發服務端完全不成問題。更多的的使用細節和技巧建議關注美團博客大搜車論壇下一篇我們開啟如何結合和搭建一個開發環境和項目目錄
往期回顧
前面2期都講得是瀏覽器端的東西比較多,包括Webpack,雖然是Node處理的,但是還是瀏覽器端用的多,對于現在的前端開發來說,不懂一點服務端的東西,簡直沒辦法活,一般的招聘要求都會加上要懂一門服務端的語言,例如:PHP,Java之類的啦。如圖所示:
所以我們這期就講Node的東西。
程咬金的三板斧 一、劈腦袋 -- 工具鏈Node在前端領域使用最為廣泛的就是工具鏈了,一期提到的構建工具都是Node寫的,當然還有其他很多工具,比如:京東工程化,百度開源構建工具FIS3,微信發布的工作流工具等等一系列前端工具都是用Node寫的。廣泛的說,我認為一期提到的編輯器也算工具鏈的中的一種,Atom,vs code,Brackets都和Node密不可分。我個人感覺,Node的發展,實際上大大解放了前端的生產力,對于其他的服務端語言的依賴基本可以說降到最低,可以依據自己的需要編寫工具來完成技術目標。
這方面大家也可以自己來產出下,例如我自己寫了個小工具供自己使用:
vuejs 格式化 Atom插件
現在下載量也不錯,有2000多了,還有好幾個issues沒有處理,哭??!
對于很多FE來說,要搭建一個后端環境很是麻煩,而且不熟悉,容易出錯(java,ruby,php),最糟的是自己不懂,出錯了完全不會調試,你的表情此時是這樣的:
那么在13、14年的時候,淘寶的前端團隊,開始連續發文,前后端分離的思考和實踐系列文章,提到了中途島計劃,也就是把Node作為前端和服務端的中間層,也就是這個架構,
從這種圖,不難看出,Node取代原來php,java干的一部分事情,也就是我們常說的MVC框架中的VC基本都給Node來干,FE干的事情更多了,能掌握的東西多了,意味著對于自己更加靈活,可以考慮更多的組件化,工程化,性能監控,數據分析的事情。
這方面的實踐大家可以參考美團這邊的圖文:
美團酒店Node全棧開發實踐
三、掏耳朵 -- 火熱的全棧Full Stack developer 是近年來熱炒的一個概念,究其原因,跟Node的火熱不無關系,早些年講,一個人(大牛不算普通人)既要精通java又要精通js,html,css還是很困難,很多思維都不太一樣,分開也很正常,而Node的出現,為很多比較厲害的前端提供了切入到服務端的機會,語言層面的問題不在是難點,重要的對服務端的知識點的熟悉程度。Node的最后一個大招就是替換一些傳統的服務端語言,例如php,ruby,java等,在業務層上面使用Node來開發服務端完全不成問題。
例如: uber的調度系統幾乎都是用 node.js 編寫的
這方面的文章也有很多了,大家可以自己去搜搜看,包括各種框架,還有各種開源系統,都可以找到。當然也還有各種各樣的坑和問題以待大家去踩和解決。
說說自家事我們公司來說的話,三板斧基本都用上了,打包構建自不用談,基本每個前端都會用到,第二板斧我們公司已經基本切換過來了,年后3月啟動,目前是所有的web頁面都是Node作為中間層,替換了php的渲染,中間自然有很多的困難要克服,但整體上來說開發的效率還是大大提升,不需要在配置php的環境,也不用在關心各種環境的依賴,整體上自己的一個獨立的服務,使用接口的形式和服務端通信。
那么三板斧為何會用到,主要是目前國內最常見的mobile的web頁面,基本在微信里面流傳,然后這些頁面還需要一定的數據交互,而且這種頁面的特點就是短平快,不需要那么嚴謹,這種頁面特別適合前端自己一擼到底,前后端通吃,接上?MongoDB當做數據庫,基本兩三天之內就能開發一個活動頁面出來,不需要對其他服務有任何依賴,包括微信授權都可以自己搞定,工作量其實比對接其他語言服務大不了多少,某些方面,我個人認為還減少了很多的溝通成本。
痛點-- 造就了自己的一個開源express的路由插件
先說說這個插件做什么的: 主要是自動的加載express框架下面的路由,免得一個一個路由需要手寫。
通常我們在express框架下面,寫路由的時候都是一個一個的手寫,然后在app.js里面去一個一個引用,一般是這樣子的
那么好一點的情況,是這樣子的,分散每一個相同名字的路由到文件中,然后引用文件在app.js里面。
但實際上你可能在項目中路由情況是這樣子的
你有什么想法?
雖然這樣子也就是一個文件多兩行代碼,我還是不爽,我為什么要因為同一個規則而去多寫這兩個代碼,而且10個兩行,就是20行,原則上,能用機器干的事情,就不人干,而且PHP的一些MVC框架可以自動加載路由,他們會有一個文件夾的分層,很明顯,路由都放到Controller文件夾下,然后根據路由名來匹配文件名的相應action,依據這個我自己就擼了一個express的自動加載路由,然后考慮了下一些特殊情況,做了點配置,不過目前只是支持一級目錄,沒有考慮多級目錄情況,有需要可以自己添加,或者給我提issues。
照例總結本篇文章主要講的是關于Node的東東,它的使用方向,更偏向結合前端的使用,并非是很深入的Node原理,也算是給很多前端解惑下,為什么要使用Node,以及如何使用Node,不要盲目的聽信別人的建議,需要結合自己項目情況,技術水平,以及團隊配比。
更多的Node的使用細節和技巧建議關注:
美團博客
大搜車
cnode論壇
下一篇我們開啟如何結合Webpack和express 搭建一個開發環境和項目目錄
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80284.html
摘要:解析不同文件使用哪些,這個比較簡單,很多文章都有,就不多說了,注意的是,這里的可以換成你自己的預編譯器,例如等,或者直接用都行,當然還可以用一種通用方法,后面補上。 前情提要 上一篇文章介紹了目前前端比較流行的各種編輯器,以及各種流行的打包方式,最后給了一個Gulp的例子,這個例子還是14年的時候寫的,還有一些可以優化的空間,就不討論了,這篇文章主要講目前火熱的打包構建方式--Webp...
摘要:解析不同文件使用哪些,這個比較簡單,很多文章都有,就不多說了,注意的是,這里的可以換成你自己的預編譯器,例如等,或者直接用都行,當然還可以用一種通用方法,后面補上。 前情提要 上一篇文章介紹了目前前端比較流行的各種編輯器,以及各種流行的打包方式,最后給了一個Gulp的例子,這個例子還是14年的時候寫的,還有一些可以優化的空間,就不討論了,這篇文章主要講目前火熱的打包構建方式--Webp...
摘要:在前后端分離的前端項目開發中經常用到。是的一個中間件。即是一個重要的功能。配置先來在配置文件中引入添加一個和通信的客戶端添加應用入口文件在插件中引入在我們的開發環境中是這樣配置的。 原文鏈接此文是我同事寫的,搭建Express結合Webpack。以下是正文,后面我會附上我的解讀 Express 結合 Webpack 實現HMR 本篇文件主要講結合 Webpack 和 Express 實...
摘要:在前后端分離的前端項目開發中經常用到。是的一個中間件。即是一個重要的功能。配置先來在配置文件中引入添加一個和通信的客戶端添加應用入口文件在插件中引入在我們的開發環境中是這樣配置的。 原文鏈接此文是我同事寫的,搭建Express結合Webpack。以下是正文,后面我會附上我的解讀 Express 結合 Webpack 實現HMR 本篇文件主要講結合 Webpack 和 Express 實...
摘要:我覺得這方面的原因是當時對和的依賴,導致大家對的興趣不弄,錯過了最佳時機,這個其實跟百度自己的的技術棧有很大關系。這個阮一峰對于前端構建的變化吐槽過,說新的構建工具就是的構建工具。 文章來源 最近幾年,前端發展越來越迅速,各種萌新加入了前端這個大家庭,大有趕IOS、超Android的趨勢呀!同時,萌新們提出了各種前端工作問題,除了最基礎的html、css、js三板斧之外,最讓人頭疼的應...
閱讀 2949·2021-11-23 09:51
閱讀 1666·2021-10-15 09:39
閱讀 1056·2021-08-03 14:03
閱讀 2880·2019-08-30 15:53
閱讀 3437·2019-08-30 15:52
閱讀 2487·2019-08-29 16:17
閱讀 2787·2019-08-29 16:12
閱讀 1647·2019-08-29 15:26