Node.js的學習,是在windows下進行還是Linux下進行更好?

對初學者而言


既然樓主說自己是初學者, 建議選擇自己熟悉的操作系統. Windows也好Linux也好, 不會對你學習nodejs造成任何影響. 目標是學習node, 所以建議不要花無謂的時間在學習一個新的操作系統上. 當然從長遠的角度上來說用linux更加合適, 但這個不是現在應該考慮的問題. 比如現在我們要學習ruby on rails, 就應該跟著rails的教學走, 不要把大量的時間花在ruby語言自身上面. 有什麼不會的不懂的, 去查查ruby的文檔然後繼續rails. 個人見解.


我遇到的唯一一次 windows 特有問題,而且是和 nodejs 引起的,是 json-stream 遇到 BOM 會報異常,用 strip-bom 切掉就成。

然後 @沈嶸 啊,包含 C++ 的 node 模塊其實很少,做網站的話根本碰不到。


建議初學者是window環境下,畢竟平時熟悉window環境。

可以等到以後對node有比較深入的了解後,你會不由自主的轉移到linux下的,放心。

現在不需要糾結這個問題。


NPM裡面有很多 Module 是 Native Binding 的,其綁定的本地庫未必都有 Windows 的版本。另外,也有很多 JS Module 沒有注意處理 Windows 的路徑符和回車換行方式,以及進程事件等。

雖然 NodeJS 是支持 Widnows 的,但是在社區中 Windows 確實是二等公民(一等是 MacOS 和 Linux),你會遇到很多細碎的問題。即使像原作者提交 issue 或者 PR,但是由於原作者都未必有 Windows 電腦,所以修復什麼的也不靠譜。


從linux學起.如果是學生的話.


Ryan 大大在node早期,對node只能運行在linux上發表過回應:windows is very important, just like PHP.


linux

1. 一些npm module要編譯外部c庫的時候,在windows中會碰到失敗或者一些奇怪的問題。

2. 使用es6時,有時需要在0.10.x和0.11.x裡面做版本切換,版本切換工具如n對windows支持不好,nvm雖然有windows版,但也支持的一般。

3. windows的命令行工具比較差。

其實個人感覺mac最方便……


資金充裕的話,直接從mac入手吧。總之都會走到mac這條路的。


不要太注重形式,要明確目的,否則什麼也學不成


Linux環境


學習的目的是為了生產,生產就免不了部署。所以題主應該想想將來如果開發了一個東西,想部署在哪個環境上。


使用 cloud9 ide,免去你的煩惱


感覺在windows下學習node.js就是個坑


推薦閱讀:

如何基於WebSocket和MongoDB技術實現NodeJS的推送伺服器集群?
怎麼禁止自動填充瀏覽器記住的密碼?
如何評價node_modules的設計?
我用js寫了一個冒泡排序法,怎麼用html和css把排序過程展現出來?

TAG:前端開發 | JavaScript | Nodejs |