NPM包管理工具
npm是node package manager的简称,是nodejs的包管理工具,用于node插件的安装卸载,升级,依赖等管理
NPM配置
配置文件
Linux下NPM配置文件共有4个,按优先级排序,配置文件中分号开头代表注释
级别 | 路径 | 描述 |
---|---|---|
每个项目的配置文件 | ./.npmrc ,与package.json 同级 |
需手动创建 |
系统用户的配置文件 | ~/.npmrc ,其中~ 为用户家目录 |
可使用npm config get userconfig 命令查看该配置文件路径 |
全局配置文件 | npm/etc/npmrc ,其中npm 为包的全局安装路径使用 npm root -g 查看包的全局安装路径 |
可使用npm config get globalconfig 命令查看该配置文件路径 |
npm内置配置文件 | node/node_modules/npm/etc/npmrc ,其中node 是nodejs安装路径 |
window使用where node 查看nodejs安装路径linux使用 whereis node 查看nodejs安装路径 |
命令修改配置
npm config list
:查看npm配置l
:查看全部配置(包括默认值)json
:以json格式查看全部配置(包括默认值)
npm config set
:设置变量值,后跟两个参数,要设置的变量和值npm config get registry
:查看包源
npm config get
:获取变量值,后跟一个参数,要获取的变量npm config set registry http://registry.npm.taobao.org
:修改包源为淘宝镜像
npm root -g
:查看全局包安装路径npm config set prefix path
:设置包的全局安装路径npm config set cache path
:设置包的全局缓存路径
NPM初始化
npm init
:提问并根据回答,初始化生成package.json
文件f
:跳过提问过程
package.json
记录当前项目(包)的详细信息,还有一个package-lock.json文件是在安装其他包后就会生成,存储着下载依赖包的详细信息
参数名 | 描述 |
---|---|
main |
入口文件,默认是index.js |
scripts |
命令脚本对象,可使用npm run 后跟该对象属性名的形式进行执行脚本 |
dependencies |
生产时依赖 |
devDependencies |
开发时依赖 |
name |
项目名(包名),不能有大写字母 |
version |
版本 |
description |
描述 |
author |
作者名 |
keywords |
关键字 |
license |
开源协议,默认ISC |
其他文件
规范的一个项目(包)应该有以下目录命名规范
目录名 | 描述 |
---|---|
bin | 可执行二进制文件 |
lib | 依赖的库文件 |
doc | 文档 |
test | 单元测试文件 |
NPM包管理
在安装包时必须先有
package.jso
文件,包名后跟@
可指定版本
npm search
:根据关键字搜索包npm install
:安装指定包,若不指定会将package.json
中依赖的包全部安装,默认本地安装S
或save
:生产时依赖,未指定默认也是生产时依赖D
或save--dev
:开发时依赖g
:全局安装save-exact
:在package.json
指定确切版本force
:强制重新安装
npm update
:更新指定包,若不指定会将package.json
中的包全部更新g
:全局更新
npm uninstall
:卸载指定包g
:全局卸载
引入包搜索包流程
- node在使用模块名来引入包时,首先会在当前目录的
node_modules
目录中找 - 若没有则去上一级目录的
node_modules
目录中找 - 若找到根目录都没有找到则报错
Comments NOTHING