開發nodejs前需要知道的一些東西

ffzhxh 9年前發布 | 17K 次閱讀 Node.js Git Node.js 開發

<h2>@#$SDFG$DEW#E@!EXWT#?¥??∞?¥</h2>

  • github無法訪問下不了
  • node.js環境搭建好慢
  • npm慢死
  • bower慢
  • BLABLABLA……

node.js環境快速搭建管理

直接從 github clone nvm 到本地, 這里假設大家都使用 ~/git 目錄存放 git 項目:

$ cd ~/git
$ git clone https://github.com/creationix/nvm.git

配置終端啟動時自動執行 source ~/git/nvm/nvm.sh ,

在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:

$ source ~/git/nvm/nvm.sh

nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,

好在 nvm 以及支持從鏡像服務器下載包, 于是我們可以方便地從七牛的 node dist 鏡像下載:

$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11

于是你就會看到一段非常快速進度條:

################################################################## 100.0%

Now using node v0.11.11</pre>

如果你不想每次都輸入環境變量 NVM_NODEJS_ORG_MIRROR, 那么我建議你加入到 .bashrc 文件中:

nvm

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist source ~/git/nvm/nvm.sh</pre>

nvm 的具體使用我在這里就不多說了,其他人講的挺多了,官網也很詳盡,或者直接nvm回車查看幫助

使用鏡像或者cnpm加速npm

同理 nvm , npm 默認是從國外的源獲取和下載包信息, 不慢才奇怪.

可以通過簡單的 ---registry 參數, 使用國內的鏡像 https://registry.npm.taobao.org :

$ npm --registry=https://registry.npm.taobao.org install nrm

當然, 每次都要輸入那么長串的 registry url 的話, 實在太麻煩, 可以使用 nrm 這個模塊來切換鏡像:

$ nrm ls
// 對比各個鏡像的訪問速度
$ nrm test
// 使用淘寶的鏡像
$ nrm use taobao

但是畢竟鏡像跟官方的 npm 源還是會有一個同步時間差異, 目前 cnpm 的默認同步時間間隔是 15 分鐘.如果你是模塊發布者, 或者你想馬上同步一個模塊, 那么推薦你安裝 cnpm cli:

npm install cnpm -g

通過 cnpm 命令行, 你可以快速同步任意模塊:

$ cnpm sync koa connect mocha

呃, 我就是不想安裝 cnpm cli 怎么辦? 哈哈, 早就想到你會這么懶了, 于是我們還有一個 web 頁面:

例如我想馬上同步 koa, 直接打開瀏覽器: https://npm.taobao.org/sync/koa

或者你是命令行控, 通過 open 命令打開:

$ open https://npm.taobao.org/sync/koa

如果你安裝的模塊依賴了 C++ 模塊, 需要編譯, 肯定會通過 node-gyp 來編譯,

node-gyp 在第一次編譯的時候, 需要依賴 node 源代碼, 于是又會去 node dist 下載,

于是大家又會吐槽, 怎么 npm 安裝這么慢…

好吧, 于是又要提到 —disturl 參數, 通過七牛的鏡像來下載:

$ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist install microtime

再次要提到 cnpm cli, 它已經默認將 —registry 和 —disturl 都配置好了, 用了就知道了.

GitHub好慢啊

好了, 看到這里大家應該對 node 和 npm 已經沒有速度慢的問題了.

github 慢, 或者說是它的資源 host 被堵而已, 大家可以通過簡單的 hosts 映射解決:

185.31.16.184 github.global.ssl.fastly.net

國內taobao鏡像列表

bower添加代理

修改 .bowerrc 文件(如無則新增):

{
  "proxy": "http://hx.gy:1080",
  "https-proxy": "http://hx.gy:1080"
}

代理

你懂的能訪問就好,不懂多搜就懂

來自: http://www.webhek.com/tips-for-nodejs-dev

 本文由用戶 ffzhxh 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!