目录
1 下载包
2 下载包非最新的版本
3 package.json
4 一次安装多个包
5 删除 node_modules
6 一次安装项目中的所有包
7 卸载包
8 将包放入devDependencies中
9 换源
9.1 手动换源
9.2 工具换源
10 全局下载
10.1 下载与卸载
10.2 一些常用的全局包
你可以在这里找到你想要的包 npm
比如我们想找jQuery,那么我们就搜索jQuery
一般我们不从这个网站上手动下载,更多的是查文档
我们一般用npm下包,npm(Node Package Manager)是Node是包管理工具,随着Node.js一起安装在电脑上,可以在终端中输入npm -v 查看npm的版本
npm可以理解为python中的pip。Node与python在环境上的理解是不太相同的,我们下面下载的时候可以看出来
1 下载包
我们现在下载一个可以操作时间的包 moment,首先先代码的同级目录下打开一个终端(cmd,powershell都行)
输入npm install moment
- 可以简写为 npm i moment,后面说的npm install都可以简写为npm i
之后我们会在代码的同级目录中找到这三个文件,这三个文件实则就是Node的环境。
如果缺失这三个文件那么环境就用不了了。
你在这个项目中装了moment,但你在别的地方没有这三个文件,那你也用不了moment
- Node也可以进行全局安装,我们先不考虑全局安装的情况
下载后的包都放在node_modules中
我们不需要自己改动下载好的文件,npm会自动维护它们
有环境就可以使用moment了,我们写一个代码
如果没安装moment是用不了的
安装后可以成功运行
2 下载包非最新的版本
默认情况下会下载最新版本的包,如果你想安装指定的版本可以在要下载的包后面加上@版本号
比如我现在想下载 2.22.2 版的 moment
- 重新下载会替代你上一次的下载
你可以在package-lock.json或package.json中查看你当前用的是什么版本
版本号一般来讲是这个意思,比如 4.25.3 这个版本号,4如果变动了就是大变动,25如果动了就是改动了什么功能,3如果动了就是改了改之前版本的bug
只要前面的版本号发生变动,后面的版本号应该归零
3 package.json
我们在分享项目的时候一般不分享 node_modules 这个文件夹(把node_modules加入.gitignore),为了表明我们当前的项目都需要什么包,一般我们使用package.json
目前的node自动创建package.json这个文件,没创建不耽误使用,如果想创建可以在终端输入 npm init -y 进行创建(路径不能包含中文,不能包含空格)
手动创建的package.json会相较于自动创建的package.json多一些信息
自动创建只有包的信息,手动创建会加上项目的一些信息
dependencies里面放的是安装了什么包,如果没进行安装直接创建package.json是不会有dependencies的
4 一次安装多个包
包之间打上空格就行了,比如 npm install jquery art-template
5 删除 node_modules
右键删除会出现这种问题
任意打开一个终端,然后输入 npm install rimraf -g
- 全局安装,在哪里打开都行
然后找到你想要删除的 node_modules ,终端进入它的同级目录,然后输入 rimraf node_modules
执行完了发现 node_modules 没有了
6 一次安装项目中的所有包
我现在需要这三个包
node_modules之前让我删了,现在我想下载回来,我们直接在有package.json的目录下输入 npm install 就可以了
下载好后就发现node_modules重新出现在文件夹中了
下载好后可以成功执行之前的代码
7 卸载包
比如我想卸载jquery,那么就输入 npm uninstall jquery
卸载之后package.json的内容会发生改变
8 将包放入devDependencies中
如果这个包只在开发阶段会用到,上线后不会用到,那么建议将这个包放入 devDependencies 中
- 在刚创建package.json的时候会出现devDependencies,后面npm如果看你这个是空的就会把devDependencies删了
刚才我们删除了jquery,现在我们将其装在devDependencies中,输入 npm install jquery -D
- 输入 npm install jquery --save-dev 同样生效
- 包名与-D顺序可以颠倒 npm install -D jquery 同样生效
安装过后,发现jquery在package.json中的devDependencies出现
9 换源
9.1 手动换源
我们之前都是在国外的服务器上下载,小的包还行,一些大的包会比较慢,这个时候我们可以不在国外的服务器上下载,在国内的服务器上下载会快一些
我们先输入 npm config get registry 查看当前的源是什么
我当前是node的官方源,现在我们将其改为淘宝源 npm config set registry=https://registry.npm.taobao.org/
再次查看源的状态发现更换成功
9.2 工具换源
我们可以使用nrm换源,nrm是管理这些源的工具。首先先下载nrm
可以通过nrm ls 查看所有可用的镜像源
如果你想用淘宝的,你就输入nrm use taobao 就可以了
10 全局下载
10.1 下载与卸载
有一些包是作为工具用的,你有的时候会在多个项目中开发时用到,但项目本身并不需要这些包,比如nrm,rimraf,我们在npm install 后加入-g就可以进行全局安装了,比如npm install nrm -g
全局包默认被安装在 C:\Users\用户目录\AppData\Roaming\npm\node_modules 下
如果要卸载全局包同样要加上-g ,现在我们想卸载cnpm这个全局包
我们我们输入 npm uninstall cnpm -g
10.2 一些常用的全局包
- nrm 源管理工具
- rimraf 删除node_modules
- i5ting_toc 将md文档转为html页面 i5ting_toc -f test.md -o