随着JavaScript的流行,相关工具的使用也变得非常重要。npm是出现的一个小公举,类似的工具还有Yarn,不过目前npm还是更加普及一点。稍微查了下他们的区别,说是Yarn更好一点,更多大牛更加推荐。不过很多项目用的还是npm管理,比如之前介绍的hexo的安装包。

npm全称是node package manager,所以它本质上就是个包管理器。类似mac上的神器,brew。不过npm只是用来管理nodejs的。这样开发js应用的时候,就可以大量使用前端库,并且保持较好的版本控制。为什么说“较好”,版本控制是个坑。很多构建的问题,据说都可以归到npm的头上,使用Yarn貌似能解决这一问题。

要使用npm首先要安装node,Mac中用brew先安装node再说。

1
$ brew install node

查看一下版本号,发现npm不是最新,然后更新一下npm,怎么更新呢?用自己更新自己!

1
$ npm i -g npm

你会发现有个-g参数,这个参数是用来全局安装npm的,不过很多插件都是本地安装的,比如很多项目才需要的插件,安装在全局会很乱,也不好管控各种版本,但是又有的插件经常用到,比如grunt-cli之类,就需要安装在全局。所以原则是,依情况而定。

一般来说下面几个是建议安装在全局的。

1
2
3
4
$ npm install -g coffee-script
$ npm install -g less
$ npm install -g grunt-cli
$ npm install -g gulp

先看看,这些工具暂时用不到的就不用研究,用到再学习不迟。

然后是npm的包安装。命令如下:

1
2
$ npm i <packagename>   //安装在当前目录下
$ npm i -g <packagename> //安装在全局

这样是一个个包分别安装,太麻烦了! 怎么批量安装呢? 装过hexo的都知道,目录下面有个package.json文件,这个文件就是用来配置需要安装的包们的。打开看一下,发现好复杂!不过稍微仔细看一下,发现depedencise下面就是包名字加版本号。然后在目录下面运行:

1
$ npm install --save  //--sava用来修改json文件的包依赖关系

就会在当前目录下面安装所有的包至node_modules这目录下面了。

更新安装的包:

1
2
$ npm outdated [-g] //查看哪些过期了
$ npm update [-g] //更新包

手动维护package.json中的包版本实在麻烦,介绍一个插件,npm-upgrade,这个插件可以检查json文件中包的版本号,然后更新。

不过npm社区真是日新月异,好多包之前装的,更新一下发现都“deprecated”了,前端真是前景巨大啊。