開發nodejs前需要知道的一些東西
<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鏡像列表
- 開源鏡像: http://npm.taobao.org/mirrors
- iojs.org/dist 鏡像: http://npm.taobao.org/mirrors/iojs
- nodejs.org/dist 鏡像: http://npm.taobao.org/mirrors/node
- phantomjs 鏡像: http://npm.taobao.org/mirrors/phantomjs
- ChromeDriver 鏡像: http://npm.taobao.org/mirrors/chromedriver
- Node.js 文檔鏡像: http://npm.taobao.org/mirrors/node/latest/docs/api/index.html
- io.js 文檔鏡像: http://npm.taobao.org/mirrors/iojs/latest/doc/api/index.html
bower添加代理
修改 .bowerrc 文件(如無則新增):
{
"proxy": "http://hx.gy:1080",
"https-proxy": "http://hx.gy:1080"
}
代理
你懂的能訪問就好,不懂多搜就懂
來自: http://www.webhek.com/tips-for-nodejs-dev