package.json管理
- npm init
通过问答式交互来产生包的信息,并最终在当前目录下生成package.json文件 - npm init --yes
直接生成一个默认的package.json文件,其中name为当前目录名,version是1.0.0,main为index.js,其他大多数字段都是空
包的安装/卸载/更新
- npm install [-g] [--save | --save-dev [--save-exact]] <包名>@[<tag> | <version>]
按package.json设置的版本规则来安装对应的包,使用--save则会在package.json的dependencies添加条目;使用--save-dev则是在devDenpendencies添加条目;默认行为是--save;此外还可以使用--save-exact来使得往package.json写入的版本规则为当前安装的版本号而非^x.x.x这样的版本规则
如果带上-g参数则表示全局安装包,默认是本地安装;
可以通过@<tag>或@<version>来指定安装的包的标记或版本
如果不带包名,则按照package.json列举的引用包进行全部安装 - npm uninstall [-g] [--save | --save-dev [--save-exact]] <包名>
卸载时应采用和安装时一样的参数来对包进行卸载 - npm update [-g] [--save] <包名>
默认只更新顶层依赖包;不带包名的话则进行全部更新;带上--save参数的话,则会把package.json里的版本规则也更新到新版规则 - npm outdated [-g]
列出有新版本可供更新的包,默认只列出依赖树顶层的包
运行脚本
package.json里可以通过配置scripts条目来提供脚本运行能力
- npm run-script或run <command> [-- <args>...]
如果有参数想传递给脚本,那在命令之后添加 -- ,--之后的所有参数都会被直接传递给脚本
脚本的运行环境除了系统的PATH变量,也会把node_modules/.bin添加到PATH再传给脚本,方便使用
查询
- npm search <内容>
用于从npm的库中查找匹配的包,可以使用JS的正则表达式的形式,注意这里是匹配包的元信息,而不是单单匹配包名 - npm view/show/info <包名> <字段>
打印出包的元信息,也可以用作包的精确匹配查找
利用字段参数可以选择性打印出对应的元信息字段