你刚刚来到公司,搭建项目前端环境时,从gItlab拉下来的代码根目录里,很大概率会看到一个【package.json】文件,然后你很大概率会根据wiki或git说明文档,执行一些类似【npm install】【npm start】【npm run build】的指令,如果你是个新手,或是做非前端方向的,你会不会很疑惑这些东西是什么呢?希望通过这篇博客能解决你的一些困扰。
First,先简单说说概念
NPM全称Node Package Manager,顾名思义,就是——Node包管理器,它起源于Node.js被写出来后,还缺少一个类似于Maven的包管理工具,于是Node作者与NPM的作者一拍即合,内置了NPM做为Node默认的包管理工具。随着Node.js的发展,NPM也逐渐被广泛使用。
NPM服务器某些方面类似于“服务于前端社区的Github”,它允许用户从NPM服务器上下载别人编写的包或命令行程序,也允许用户上传自己编写的包与命令行程序。
Second,我们为什么要使用NPM
我们以前在校园里自己做开发时,用到JQuery就会到JQuery官网里下载、用到Bootstrap就会到Bootstrap官网里下载,感觉也并不怎么麻烦,但是如果在企业中项目很大依赖很多第三方库、且协同开发人数较多需要严格同步开发环境时,再用传统的“自行官网下载”模式就捉襟见肘了。使用NPM就可以解决这些问题。
工程师会在package.json文件中定义项目依赖的第三方包,然后把这个package.json上传到git上,团队中每个人从git上拉取代码后,在本地使用类似于【git clone】的【npm install】指令,就可以从NPM服务器上拉取第三方包,并安装到本地。
Third,简单说说我们如何使用NPM
现在Node.js一般集成了NPM,命令行里npm -v即可查看是否按照成功。你新建一个项目时,可以使用类似于【git init】的【npm init】指令初始化,会自动产生【package.json】文件,【package.json】文件是NPM的灵魂,你在这个文件里做配置即可(在此并不详述)。当然,如果你不自己构建项目,只是拉取远程的【package.json】文件,就无需再执行初始化了。
Finally,更多具体的package.json配置与NPM指令,可以参看如下链接:
package.json官方文档——http://www.mujiang.info/translation/npmjs/files/package.json.html