使用npmf解决npm安装nodejs类库失败的问题

nodejs作为跑在服务器端的javascript,可以提供高性能的web服务,简而言之其特色:

  • v8引擎
  • 事件回调模型
  • 异步
  • 无阻塞
  • 单线程

更多资料请参考:这里

nodejs仅仅提供一些底层的api,包括http、fs、url等模块,如果用这些底层api去开发web应用,难免有点繁琐和吃力,尤其对于服务器编程经验较少的开发人员。幸运的是现在已经出现了很多优秀的第三方类库的支持,比如web开发框架express以及依赖于express的模板开发模块jade、ejs等,这些现成的类库可以通过下载其源码再配置nodejs来完成,这样的过程显然是繁琐的,那么就有必要提一下标题中提到的npm了, 即nodejs软件包管理工具,使用npm可以提供智能安装第三方类库的服务,如:

npm install express

仅仅一行代码,即可完成express的安装过程,然后进入node模式,输入require('express'),可看到在终端显示出express对象所包含的所有方法,证明express已经安装完毕。

事实上,上述过程在天朝变得很艰难,之前尝试在各种网络环境下使用智能安装类库的方法,往往在经历漫长的等待后以失败而告终,最后分析得出的结论是,npm所定义的软件源有出现在GFW的list中,还好今天终于找到了解决方法,就是npmf,官网解释其为npm的一个复制版本,他可以永久保存安装软件包的每个版本,并且你通过npmf安装的包在你下次部署软件的时候依然适用。

如果要使用npmf,也相当之方便,对npm的软件源重新指向即可,如下:

npm config set registry http://npmfjs.org:9000

随便说一下,如果开启穿墙工具,执行安装类库的过程会变得更快,10秒或者更少~