1. npm init
初始化一个空项目,根据提示在命令行中输入项目信息,这些信息都会在package.json文件中体现
2. npm install
安装包,安装依赖,我也经常忘记这个命令的具体合适,可以用help产看一下具体情况
由命令帮助可知,npm install 可以用 npm i 来替代
该命令可以安装在npm上发布的包,也可以按照本地文件、压缩包、git和github的项目作为依赖到你的项目中
3. npm shrinkwrap
目前还没有用到
前面说过要锁定依赖的版本,但这并不能完全防止意外情况的发生,因为锁定的只是最外一层的依赖,而里层依赖的模块的 package.json 有可能写的是 "mongoose": "*"。为了彻底锁定依赖的版本,让你的应用在任何机器上安装的都是同样版本的模块(不管嵌套多少层),通过运行 npm shrinkwrap,会在当前目录下产生一个 npm-shrinkwrap.json,里面包含了通过 node_modules 计算出的模块的依赖树及版本。上面的截图也显示:只要目录下有 npm-shrinkwrap.json 则运行 npm install 的时候会优先使用 npm-shrinkwrap.json 进行安装,没有则使用 package.json 进行安装。
详细了解:
(1)https://docs.npmjs.com/cli/shrinkwrap
(2)http://tech.meituan.com/npm-shrinkwrap.html
注意: 如果 node_modules 下存在某个模块(如直接通过 npm install xxx 安装的)而 package.json 中没有,运行 npm shrinkwrap 则会报错。另外,npm shrinkwrap 只会生成 dependencies 的依赖,不会生成 devDependencies 的。
4. npm scripts
npm 提供了灵活而强大的 scripts 功能,具体见官方介绍 https://docs.npmjs.com/misc/scripts
npm 的 scripts 有一些内置的缩写命令,如常用的:
* npm start 等价于 npm run start
* npm test 等价于 npm run test