开发nodejs前需要知道的一些东西

ffzhxh 8年前
   <h2>@#$SDFG$DEW#E@!EXWT#ߥ®™∞¡¥</h2>    <ul>     <li>github无法访问下不了</li>     <li>node.js环境搭建好慢</li>     <li>npm慢死</li>     <li>bower慢</li>     <li>BLABLABLA……</li>    </ul>    <h2>node.js环境快速搭建管理</h2>    <p>直接从 github clone nvm 到本地, 这里假设大家都使用 ~/git 目录存放 git 项目:</p>    <pre>  $ cd ~/git  $ git clone https://github.com/creationix/nvm.git</pre>    <p>配置终端启动时自动执行 source ~/git/nvm/nvm.sh ,</p>    <p>在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:</p>    <pre>  $ source ~/git/nvm/nvm.sh</pre>    <p>nvm 默认是从 <a href="/misc/goto?guid=4959672280872421189" rel="nofollow,noindex">http://nodejs.org/dist/</a> 下载的, 国外服务器, 必然很慢,</p>    <p>好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:</p>    <pre>  $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11</pre>    <p>于是你就会看到一段非常快速进度条:</p>    <pre>  ######################################################################## 100.0%  Now using node v0.11.11</pre>    <p>如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:</p>    <pre>  # nvm  export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist  source ~/git/nvm/nvm.sh</pre>    <p>nvm 的具体使用我在这里就不多说了,其他人讲的挺多了,官网也很详尽,或者直接nvm回车查看帮助</p>    <h2>使用镜像或者cnpm加速npm</h2>    <p>同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪.</p>    <p>可以通过简单的 ---registry 参数, 使用国内的镜像 <a href="/misc/goto?guid=4959672280956016232" rel="nofollow,noindex">https://registry.npm.taobao.org</a> :</p>    <pre>  $ npm --registry=https://registry.npm.taobao.org install nrm</pre>    <p>当然, 每次都要输入那么长串的 registry url 的话, 实在太麻烦, 可以使用 nrm 这个模块来切换镜像:</p>    <pre>  $ nrm ls  // 对比各个镜像的访问速度  $ nrm test  // 使用淘宝的镜像  $ nrm use taobao</pre>    <p>但是毕竟镜像跟官方的 npm 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟.如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cnpm cli:</p>    <pre>  npm install cnpm -g</pre>    <p>通过 cnpm 命令行, 你可以快速同步任意模块:</p>    <pre>  $ cnpm sync koa connect mocha</pre>    <p>呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面:</p>    <p>例如我想马上同步 koa, 直接打开浏览器: <a href="/misc/goto?guid=4959672281041016161" rel="nofollow,noindex">https://npm.taobao.org/sync/koa</a></p>    <p>或者你是命令行控, 通过 open 命令打开:</p>    <pre>  $ open https://npm.taobao.org/sync/koa</pre>    <p>如果你安装的模块依赖了 C++ 模块, 需要编译, 肯定会通过 node-gyp 来编译,</p>    <p>node-gyp 在第一次编译的时候, 需要依赖 node 源代码, 于是又会去 node dist 下载,</p>    <p>于是大家又会吐槽, 怎么 npm 安装这么慢…</p>    <p>好吧, 于是又要提到 —disturl 参数, 通过七牛的镜像来下载:</p>    <pre>  $ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist install microtime</pre>    <p>再次要提到 cnpm cli, 它已经默认将 —registry 和 —disturl 都配置好了, 用了就知道了.</p>    <p>GitHub好慢啊</p>    <p>好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了.</p>    <p>github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:</p>    <p>185.31.16.184 github.global.ssl.fastly.net</p>    <p>国内taobao镜像列表</p>    <ul>     <li>开源镜像: <a href="/misc/goto?guid=4959672281126985487" rel="nofollow,noindex">http://npm.taobao.org/mirrors</a></li>     <li>iojs.org/dist 镜像: <a href="/misc/goto?guid=4959672281197267851" rel="nofollow,noindex">http://npm.taobao.org/mirrors/iojs</a></li>     <li>nodejs.org/dist 镜像: <a href="/misc/goto?guid=4959672281275382597" rel="nofollow,noindex">http://npm.taobao.org/mirrors/node</a></li>     <li>phantomjs 镜像: <a href="/misc/goto?guid=4959672281358319229" rel="nofollow,noindex">http://npm.taobao.org/mirrors/phantomjs</a></li>     <li>ChromeDriver 镜像: <a href="/misc/goto?guid=4959672281437465725" rel="nofollow,noindex">http://npm.taobao.org/mirrors/chromedriver</a></li>     <li>Node.js 文档镜像: <a href="/misc/goto?guid=4959672281517184187" rel="nofollow,noindex">http://npm.taobao.org/mirrors/node/latest/docs/api/index.html</a></li>     <li>io.js 文档镜像: <a href="/misc/goto?guid=4959672281596662018" rel="nofollow,noindex">http://npm.taobao.org/mirrors/iojs/latest/doc/api/index.html</a></li>    </ul>    <p>bower添加代理</p>    <p>修改 .bowerrc 文件(如无则新增):</p>    <pre>  {    "proxy": "http://hx.gy:1080",    "https-proxy": "http://hx.gy:1080"  }</pre>    <p>代理</p>    <p>你懂的能访问就好,不懂多搜就懂</p>    <p>来自: http://www.webhek.com/tips-for-nodejs-dev</p>