npm
什么是npm?
NPM 全称 Node Package Manager,它是 JavaScript 的包管理工具,并且是 Node.js 平台的默认包管理工具。通过npm可以安装、共享、分发代码,管理项目依赖关系。
安装
最新版本的node.js已经集成了npm工具,首先在本机安装node环境。
node.js官网地址:http://nodejs.cn/download/。
安装完成后,查看版本号:
C:\Users\tim>node -v
v11.5.0
C:\Users\tim>npm -v
6.4.1
初始化项目
- 新建demo文件夹,进入此文件夹,执行下面的命令初始化项目
C:\Users\tim>mkdir demo
C:\Users\tim>cd demo
C:\Users\tim\demo>npm init
- 根据提示输入相关信息,若使用默认值,直接回车即可
C:\Users\tim\demo>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (demo) npmdemo # 包名不能有大写字母
version: (1.0.0) # 若直接回车,则取括号中的默认值
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:\Users\tim\demo\package.json: # package.json是包配置文件
{
"name": "npmdemo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
- package.json详解
{
"name": "npmdemo", # 包名
"version": "1.0.0", # 版本号
"description": "", # 描述
"main": "index.js", # 程序的主入口文件
"scripts": { # 脚本命令组成的对象, 如 test 测试环境,dev 开发环境,prod 生产环境
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC" # 许可证 默认即可
}
安装模块
本地安装(将js库安装在当前目录下)
执行命令:
npm install express
当前目录下会出现node_modules
文件夹 和 package-lock.json
:
-
node_modules
文件夹 用于存放下载的js库 -
package-lock.json
用于记录当前状态下实际安装的各个包的具体来源和版本号
重新打开package.json
,发现express
已经添加到依赖列表中:
{
...
"dependencies": {
"express": "^4.17.1"
}
}
全局安装(将js库安装到全局目录下)
查看全局安装目录:
npm root -g
修改全局安装目录:
npm config set prefix "D:\npm"
全局安装vue模块:
npm install vue -g
安装指定版本:
npm install jquery@2.2.0 -g
模块版本号表示方式
- 版本号:如
2.3.4
,遵循“大版本.次要版本.小版本”的格式规定 -
~
波浪号 + 版本号:如~2.3.4
,安装2.3.x
的最新版本(不低于2.3.4),但不安装2.4.x
-
^
向上箭头 + 版本号:如^2.3.4
,安装2.x.x
的最新版本(不低于2.3.4),但不安装3.x.x
- 大版本号为0时,则
^
向上箭头 与~
波浪号 相同 - lastest:安装最新版本
开发环境模块安装
有些模块只在开发时用,如eslint是语法格式校验模块,把它安装到开发依赖即可,命令如下:
npm install <module name> [--save-dev | -D]
package.json
内容如下:
{
...
"devDependencies": {
"eslint": "^6.7.1"
}
}
生产环境模块安装
有些模块是系统运行的必须模块,把它安装到生产依赖中,命令如下:
npm install <module name> [--save | -S]
package.json
内容如下:
{
...
"dependencies": {
"express": "^4.17.1"
}
}
批量安装模块
从网上下载的开源项目没有modules
文件夹,只有package.json
,我们可以批量安装模块,命令如下:
npm install
上一个命令默认安装package.json
中的devDependencies
和dependencies
下的依赖,若只安装dependencies
下的依赖,执行如下命令:
npm install --production
查看模块
查看局部已安装模块:
npm list # 查看局部已安装的模块
npm list <module name> # 查看局部已安装模块版本号
查看全局已安装模块:
npm list -g # 查看全局已安装的模块
npm list <module name> -g # 查看全局已安装模块版本号
查看模块远程最新版本:
npm view <module name> version
查看模块远程所有版本:
npm view <module name> versions
卸载模块
卸载局部模块:
npm uninstall <module name>
卸载全局模块:
npm uninstall -g <module name>
配置淘宝镜像
查看当前镜像地址:
npm get registry
配置淘宝镜像:
npm config set registry https://registry.npm.taobao.org
还原默认地址
npm config set registry https://registry.npmjs.org/
网友评论