npm(全程Node Package Manager,即node包管理器) 是Node.js默认的,以JavaScript编写的软件包管理系统 安装完毕node后,会默认安装好npm,npm本身也是基于Node.js开发的软件。 查看本地系统是否安装了Node,可以使用node -v 查看有版本号,则安装了node,否则自行安装; 使用npm -v 可以查看npm的版本号。
Node官方网站:http://nodejs.cn/ 可以下载node包,用于安装。如果下载较慢可以去https://mirrors.tuna.tsinghua.edu.cn/ 或者http://mirrors.ustc.edu.cn/ 搜索node按需下载。
NPM官方网站:https://www.npmjs.com/ 可以查找所需的npm包,以及一些简单说明。
1、npm 安装配置(可选)
现在安装的新版本的nodejs可以直接使用默认配置的即可,不须再配置任何内容。
1. 配置环境变量:
Linux系统的环境变量
如果是配置全部用户都可以使用的在/etc/profile文件中配置
如果是配置当前用户则在~/.bashrc中配置
参考格式如下:
export PATH=/home/DEV_ENV/node-v16.13.1/bin:$PATH
保存并使用source 重新加载文件
source /etc/profile 或者 source ~/.bashrc
2、查看 node 版本
node -v
3、查看 npm 版本
npm -v
4、npm淘宝镜像(可选)
设置全局的npm淘宝镜像
npm config set registry https://registry.npm.taobao.org
也可以切换回默认全局镜像
npm config set registry https://registry.npmjs.org
5、npm 常用命令简写说明
方便统一和阅读,文中全部使用简写方式。
-g: 为 --global 的缩写,表示安装到全局目录里
-S: 为 --save 的缩写,表示安装的包将写入package.json里面的dependencies
-D: 为 --save-dev 的缩写,表示将安装的包将写入packege.json里面的devDependencies
i: 为install的缩写,表示安装
6、npm 安装模块
npm init
npm i
npm i express
npm i express -g
npm i express -S
npm i express -D
npm i jquery@1.8.3
7、npm 卸载模块
npm uninstall express
npm uninstall express -g
npm uninstall express --save
npm uninstall express --save-dev
8、npm 更新模块
npm update jquery
npm update jquery@2.1.0
npm install jquery@latest
9、 npm 查看命令
npm root
npm root -g
npm list 或者 npm ls
npm view jquery dependencies
npm view jquery version
npm view jquery versions
npm view jquery
npm info jquery
npm list jquery 或 npm ls jquery
npm view jquery repository.url
10、npm 其他命令
npm cache clean
npm prune
npm outdated
npm repo jquery
npm docs jquery
npm home jquery
npm help <command>
npm help
11、npm的作用
我们在安装项目所需的依赖包时、会将下载的依赖包的名称及版本信息自动添加到package.json文件中;传输代码时避免了node_modules文件过大的情况,我们将node_modules删除,在其他设备上,直接npm install,就可以通过package.json中保存的依赖包信息,自动装配node_modules文件。
12、package.json文件解析
普通字段
name:包名
version: 包的版本号
description: 包的描述
author: 包的作者
license: 包的许可证
main: 指定程序的主入口文件(默认设计模块根目录下面的index.js)
scripts 字段
package.json 文件中 scripts 字段,可以用于指定脚本命令,供 npm 直接调用
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
(scripts中是配置执行命令,使用格式如下:npm run 命令) ——以上代码意思:执行npm run test 则执行"echo \"Error: no test specified\" && exit 1" 语句;
scripts 字段中的钩子
注:npm run 为每条命令提供了 pre- 和 post- 两个钩子(hook)。以 npm run test 为例,如果我们的 scripts 字段规定了 pretest 和 posttest :
同理:我们可以自己配置:
"scripts": {
"prehello": "echo \" gagaga1 \" ",
"hello": "node -v", // npm run hello则实际执行的是node -v查看node的版本
"posthello": "echo \" gagaga2 \" "
},
实际执行如下:
[gagaga nodedir]$ npm run hello
> nodedir@1.0.0 prehello
> echo " gagaga1 "
gagaga1
> nodedir@1.0.0 hello
> node -v
v16.13.1
> nodedir@1.0.0 posthello
> echo " gagaga2 "
gagaga2
dependencies字段(生产依赖)和devDependencies字段(开发依赖)
dependencies 执行操作后,package.json里dependencies里保存相应依赖包,这些包在项目打包上线后依然需要使用项目才能正常运行,比如:axios等等
jquery依赖代码如下
npm install jquery -save // 安装到生产依赖(dependencies)
npm uninstall jquery -save // 从生产依赖(devDependencies)卸载
devDependencies 执行操作后,package.json里devdependencies里保存相应依赖包,这些包只在做项目的时候会使用到,在项目打包上线后不依赖于这些包项目依然可以正常运行。比如:gulp/webpack等等。
jquery依赖代码如下
npm install jquery -save-dev // 安装到开发依赖(devDependencies)
npm uninstall jquery -save-dev // 从开发依赖(devDependencies)卸载
npm包的版本用法
版本号的主流写法有:插入号( ^3.8.0 )、 波浪号( ~3.8.0 )、3.8.0,只要是能够被node-semver解析的写法都是可以的。
版本号写法大全
version 必须确切匹配这个version
>version 必须大于这个version
>=version 必须大于等于这个version
< version 必须小于这个version
<=version 必须小于等于这个version
~version 大约相当于version
^version 与version兼容
1.2.x 可以是1.2.0、1.2.1等,但不能是1.3.0
http://… URL作为依赖项
* 匹配任何版本
“”(空字符串) 匹配任何版本,和*一样
version1 - version2 相当于 >=version1 <=version2
range1 || range2 range1或range2其中一个满足时采用该version
git… Git URL作为依赖项
user/repo GitHub URLs
tag 一个以tag发布的指定版本,参考npm-tag
path/path/path 本地Paths
参考如下
{
"dependencies": {
"a": "1.0.0 - 2.9.9", 相当于 >=1.0.1 <=2.9.9
"b": ">=1.0.2 <2.1.2", 必须大于等于1.0.2版本且小于2.1.2版本
"c": ">1.0.2 <=2.3.4", 必须大于1.0.2版本且小于等于2.3.4版本
"d": "2.3.1", 必须匹配这个版本
"e": "~2.3.1", 约等于2.3.1,只更新最小版本,相当于2.3.X,即>=2.3.1 <2.4.0
"f": "2.3.x",
"g": "^2.3.1", 与2.3.1版本兼容,相当于2.X.X, 即>=2.3.1 < 3.0.0,不改变大版本号。
"h": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
"i": "http://asdf.com/asdf.tar.gz", 在版本上指定一个压缩包的url,当执行npm install 时这个压缩包会被下载并安装到本地。
"j": "~1.2",
"k": "~1.2.3",
"i": "2.x",
"m": "latest", 安装最新版本
"n": "file:../dyl", 使用本地路径
"o": "git://github.com/user/project.git#commit-ish" 使用git URL加commit-ish
}
}
13、npm包的使用
1、在普通项目中我们可以通过const $ = requrie('jquery'); 直接引用;他会去node_modules 目录中去把jquery直接加载过来 2、es6通过import导入包
(补充):yarn的介绍
npm install yarn -g 查看版本yarn --version yarn init yarn add 等于 npm install yarn remove 等于 npm uninstall
|