【随笔】关于 npm 命令使用的好习惯
有关npm的几个使用习惯,逐渐完善中。。
我们开发中经常用到npm来管理第三方包,如果你觉得国外环境下载第三方包不是很快,可以换成国内的npm源,npm换国内源,使用过程也相对简单,本项目私有的包会选择 npm install async ,如果全局共享安装会使用 npm install -g async
其实 npm 的实际功能远远超过我们实用的这几招。
1.npm 帮你完成 package.json 文件,在一个node.js 文件中 package.json 文件的重要性不必多说,如果你还不明白,赶紧google一下。
如何完善:
mkdir blog cd blog npm init
前2句命令是创建项目文件目录,接着进入该目录。
第三句使用 npm init 初始化到底做了那些工作?
npm 足够聪明,所以很方便的帮你创建 package.json 文件并试图用默认值来为你填充每一项。
它会根据你的目录名来推断你的模块名称,然后去 ~/.npmrc 配置文件中读取作者信息 ,根据git的设置为你填充好代码库。
2.package.json 文件中有一个依赖项需要我们来手动填写,这个依赖项为以后的发布,开源传播起到了非常重要的作用。
但是写依赖这项一般会被人遗忘直到要去服务器上发布前才回去手动填写,这时就要去 node_mondule 目录下查看安装了那些第三方包,用到了哪个版本,非常让人头疼,其实 npm 能帮你做这事。
npm install async --save
上面以安装 async 为例,后面跟了一个参数 --save 正是这个参数的功能,帮我们下载依赖包后直接将依赖写入 package.json 文件中了,版本再也不会搞错,非常贴心。
3.npm 帮我们启动项目,如何完成,需要在 package.json 文件中制定启动脚本,代码如下:
"scripts": { "start": "node app.js" }
这个功能对于项目开发者可能不是特别重要,但是对于使用此项目的人非常方便。
比如你的项目开源后,好多开发者克隆到本地,安装依赖包后该如何启动,你的根目录下有index.js,start.js,app.js,my.js 鬼才知道哪个是启动文件,所以使用你项目的人必须一个一个打开看看代码,到底是哪个文件启动了node 服务器,而如果你在 package.json 中指定了启动脚本,用npm 来启动项目非常方便,如下:
npm start
使用项目的人不必关心你的启动文件到底是那个,简单好用。
4.npm 帮你追踪过期的依赖项。
当依赖项不能被依赖时,这是编程的地狱,直接影响的你的项目,代码运行。
依赖包的开发者不会亲自给你的qq邮箱发一封eamil ,告诉你,‘亲,我的xxx模块更新了,赶紧更新给好评哦`(*∩_∩*)′’
那你如果知道此依赖模块已经过期(api方法参数变化导致代码报错)这里还得靠 npm 来追踪,如下:
npm outdated
如果有的依赖项过期,还是依靠 npm 来更新,代码如下:
npm update
---未完,逐渐补充。