NPM:
node package manager,node包的管理工具。用Node.js编写的,使用前需要先安装Node.js。
安装NPM
方法一:安装Node.js(LTS版本),会同时安装npm
方法二: 通过NVM(Node Version Manage,节点版本管理器)安装Node.js和npm
package.json文件
- 列出了项目所依赖的软件包
- 允许使用“semantic versioning rules”规则指定项目可以使用的软件包的版本
- 使构建具有可复制性,更易于与其他开发人员共享
要求:
一个package.json文件必须有:
- "name"
- 只能用小写字母
- 至少一个字,不能有空格
- 允许使用破折号和下划线
- "version"
- 格式为x.x.x
- 遵循semver规范
创建:
方式一:npm init (以询问的方式依次初始化各配置项)
方式二:npm init --yes 或 npm init -y (从当前目录提前的信息来生成默认值)
注意:
如果没有设置“description”的值,npm将使用README.md文件的第一行作为值。(便于在npm上的搜索)
为init命令设置几个配置选项:
npm set init.author.email "[email protected]"
npm set init.author.name "uakora"
npm set init.license "MIT"
自定义package.json文件初始化时的问题:在主目录下创建自定义文件npm-init.js文件...
指定依赖项:
- "dependencies":用于生产环境的软件包
- "devDependencies":用于开发和测试的软件包
--save 和 --save-dev:
npm install <package_name> --save (只写入"dependencies"中,同默认)
npm install <package_name> --save-dev (只写入"devDependencies"中)
包
安装包
npm install [-g] <package_name>
- 如果模块依赖某个包,并通过Node.js的require加载,那么应该选择本地安装
- 如果想将包作为一个命令行工具,比如grunt CLI,那么应该选择全局安装
说明:执行上述命令后,会在目录下创建一个node_modules的目录(如果不存在的话)
更新包
npm update [-g] [package_name]
说明:
1. 不指定包名,将更新所有包
2. 更新之前,可通过执行 npm outdated [-g] 查看已有新版本的包
3. npm outdated -g --depth=0 (查看需要更新的包)
卸载包
npm uninstall [-g] [package_name]
说明:
1. 在使用npm 6.13.4版时,不需要添加 --save 或 --save-dev参数,package.json中的依赖也会同时删除。
发布包
步骤一:登录:npm login(没有账号,需先创建账号npm adduser)
步骤二:测试是否已登录:npm whoiam (非必须)
步骤三:确认包是否无误
步骤四:发布:npm publish
更新自己发布的包:
更新版本号:npm version <update_type>
更新README.md文件:npm version patch
最后执行 npm publish