大家都是怎麼玩node.js的?

之前一直在用PHP渲染HTML頁面和提供動態數據。但是本人更加喜歡前端,所以學習了些nodejs,那問題來了。相比PHP開發nodejs的全棧開發是不是也包括處理數據和渲染界面。

我的想法是nodejs用來渲染界面,因為我比較喜歡jade,還有react。用PHP做數據介面返回json 。

這樣做是不是有點多此一舉或者大材小用,或者說直接用PHP不就行了么。


用nodejs寫了一個小說下載器,支持自定義各類網站的下載(爬蟲)規則,論壇這種複雜的內容模式也能夠有效支持,獲取的文本經過過濾後保存到資料庫,也可以設置深度下載、圖片下載、模擬登陸,自定義並行下載數。

自定義一些複雜的下載規則還可以整站打包,或者文件資源搜集,比如可以直接在酷狗音樂官網上採集音頻文件,在優酷上採集視頻文件。

另外解析一些電子書的數據結構,用nodej實現了一遍,包括epub,mobi,umd,docx,fb2,chm和snb;通過Buffer緩衝生成二進位文件。

寫了一個websocket的服務端和chrome擴展,方便從瀏覽器直接發送命令進行下載。

另外這個過程中除了iconv-lite和cheerio沒有使用其他第三方模塊,全部自己手動造的輪子,包括各種壓縮演算法……

下階段的目標是通過electron把這些功能集成成一個桌面應用,整合前後端通信,加入閱讀器功能,通過模板引擎自定義閱讀界面。

重構的核心部分代碼:https://github.com/lz0211/wedge


我用 nodejs 做字體…(對,運行 js 直接生成 ttf,雖然現在的工作流沒這麼干)這玩法夠高端不


啊,玩node還不簡單

1. 做前端項目時每次編譯less文件和coffee文件都無比麻煩,於是用node寫了一個自動編譯壓縮less和coffee的命令行工具,附帶版本後綴防止瀏覽器緩存衝突

2. 收集絕對領域圖片的時候經常會不小心收集到重複的圖片,用node寫了一個命令行提取圖片sha256指紋進行去重

3. 找到一個絕對領域圖片網站,用node寫了一個小爬蟲去爬圖片,可以設定爬取深度,保證不會爬到站外什麼地方

4. 接3,有的時候會爬取到主題不同的圖片,需要過慮,用node去調取google識圖api,通過對圖片內容關鍵字篩選進行分組,摒棄掉不需要的圖片,當然google識圖api是要錢的,雖然有試用版。

5. 接1,前端項目有時會對頭文件和重複使用的components進行修改,這樣會修改所以引用此頭尾和components的文件,用node寫一個引用模塊,將重複使用的模塊提取出來做成單獨文件,這樣每次修改只需要修改一次即可,那麼模板文件也可以進行編譯了。

啊,暫時就這些,關於前端項目管理命令行工具還有很多功能已經有想法,但還未開發,這個大坑還是等手頭項目完成以後慢慢填去吧。

-- 順便放張圖


出於探索精神用Node.js做過一個項目,超級後悔。以後再也不在伺服器端用動態語言和預設IO是Async的系統

我對客戶代碼的「顯然正確性」的標準比較高,我不光是要求「正確」就可以了。還是C#/.NET這樣的系統好


第一次學Node的時候做了一個爬蟲玩,爬了58數據並用百度地圖進行可視化顯示。

https://github.com/answershuto/Rental


即使是我的php項目。我都會搞個 package.json。 主要用gulp來做代碼壓縮,防緩存什麼的。


用nodejs寫了一個多進程的遊戲伺服器


實際的項目開發中,我用了php,python,nodejs等等,用過之後的觀點是nodejs的開發效率與運行效率比前兩者提高一個等級。從目前nodejs的流行程度來看,許多公司如linkedin,PayPal正在把他們的系統往nodejs上面遷移,可見nodejs的魅力不止一般。

nodejs全棧中,react,angularjs等前端框架比jade,php這樣的模板系統更便捷。返回數據介面這種後台應用,nodejs做起來也是完全沒有問題。

nodejs的有點還包括:npm開源包是目前數量最多,nodejs開發非常活躍,各種各樣的工具,應有盡有。

當然nodejs的學習成本稍高一些,需要熟悉非同步編程,需要自己去組合各種庫與工具。也有些開源項目做了整合,如GitHub - linnovate/mean: MEAN (Mongo, Express, Angular, Node),這個項目難度高,初學者慎入


回答沒有一個全面的,node的應用場景非常多:

express/koa做整站(個人博客試試)

http://socket.io做im即時聊天

跨端調用api介面

http proxy(各大公司都在實踐的直出同構)

構建工具(配合熱重載)

命令行工具(各個cli等)

反向代理(anyproxy)

編輯器(atom)

區塊鏈

除密集型運算不太適合外,基本都可以做


nodejs不是屬於backend么 標籤里怎麼是前端框架 開發

我土 別打我


正在用node做一個基於json的mock server,開發時候你給我一段json,後台根據這個生產增刪查改的api


寫了一個爬蟲,爬數據。

然後又寫了一個api分享數據。明天上線,貼地址

http://api.riji.live


nodejs屬於後端的東西, jade也是後端模板引擎, 題主意思是喜歡js吧, js的話, 從前到後是可以完全不用php的, 前端框架vue/react/angularjs..., 後端express/koa/...

如果和php一起用, 因為nodejs渲染頁面是屬於controller的工作, php的工作就偏service了, 這樣拆的話, 不如全部用一個語言, 或者你的工程夠大的話, 可以把service單獨抽出來做一個工程給nodejs調用, 算是分成前台中台後台的架構了


nodejs剛入門,學著寫個小爬蟲。。。GitHub - RocketV2/node-spider


由於數學太渣,我用node抽取學生平時作業的成績(excel)計算最終的平時成績。。。

一個意外的好處是數據可視化後好TM直觀,那些基本沒交過作業的休想獲得我的友情加分

-------------------------

@徐逸夫 為回答補個圖:

每個作業的成績都是用excel統計的,但這些作業的數量實現是不定的。我這裡是自動獲取目錄下xls,這樣可以防止我手欠漏加。

由於後邊有不少人補交作業,我也很擔心寫宏的話某些列末尾會被漏掉。

注意到作業和課堂評分是兩套體系:雖然作業也是百分制打分,但最後要落到五段中,而課堂分數直接算就好,用excel寫我怕我會死掉……

實際上每個作業都根據得分的具體情況進行了修正……(要不然難得作業就沒5分的了)

最後總得分公式修正了無數遍,寫宏的話怕不是……

簡而言之就是一個手殘腦殘的excel苦手用編程彌補自身缺點的勵志故事。


nodejs很有潛力啊,看好!


目前用node做了分散式爬蟲,生產環境的日誌採集工具,微信企業號API等等


用node做了個可以集群的im


搞一些自己的小項目之類的還是比較嗨皮的,哪怕項目中用不到,自己開心就好


推薦閱讀:

ReactJS 真的好嗎?
相比 React 全家桶,選擇 Vue2 有何優劣?
為什麼都說富文本編輯器是天坑?
怎樣可以很好地保證網頁的瀏覽器兼容性?
如何評價Facebook推出的flow.js?

TAG:前端開發 | JavaScript | Nodejs | 前端工程師 | 前端框架 |