1.包管理配置
(1)包管理配置的概念
npm
规定,在项目根目录中,必须提供一个叫做 package.json
的包管理配置文件,用来记录与项目有关的一些配置信息,例如:
- 项目的名称、版本号、描述等
- 项目中都用到了哪些包
- 哪些包只会在开发期间会用到
- 哪些包在开发和部署时都需要用到
(2) 理解 package.json
配置文件的作用
(1)多人协作的问题
- 包的体积
- 整个项目的体积是
30.4M
- 第三方包的体积是
28.8M
- 项目源代码的体积
1.6M
2. 遇到的问题
- 第三方包的体积过大,不方便团队成员之间共享项目源代码
3. 解决方案
- 共享时剔除node_modules
(2)如何记录项目中安装了哪些包
-
在项目根目录中,创建一个叫做
package.json
的配置文件,即可用来记录项目中安装了哪些包。从而方便剔除node_modules
目录之后,在团队成员之间共享项目的源代码 -
今后在项目开发中,一定要把
node_modules
文件夹,添加到.gitignore
忽略文件中
(3)快速创建 package.json
npm
包管理工具提供了一个快捷命令,可以在执行命令时所处的目录中,快速创建 package.json
这个包管理配置文件
npm init -y
注意:
- 上述命令只能在英文的目录下成功运行!所以,项目文件夹的名称一定要使用英文命名,不要使用中文,不能出现空格
- 运行
npm install
命令安装包的时候,npm
包管理工具会自动把包的名称和版本号,记录到package.json
中
(4) 了解 dependencies 节点的作用
package.json
文件中,有一个 dependencies
节点,专门用来记录您使用 npm install
命令安装了哪些包
//安装一个包
npm i xxx
//安装多个包
npm i xxx1 xxx2
(5) 一次性安装所有的包
- 当我们拿到一个剔除了 node_modules 的项目之后,需要先把所有的包下载到项目中,才能将项目运行起来。否则会报类似于下面的错误:
2.可以运行 npm install
命令(或 npm i
)一次性安装所有的依赖包
(6)卸载包
-
可以运行
npm uninstall
命令,来卸载指定的包: -
注意:
npm uninstall
命令执行成功后,会把卸载的包,自动从package.json
的dependencies
中移除掉
(7) 了解 devDependencies
节点的作用
-
如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到
devDependencies
节点中 -
与之对应的,如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到
dependencies
节点中 -
您可以使用如下的命令,将包记录到
devDependencies
节点中
2. 解决包下载慢的问题
1.分析包下载慢的原因
在使用 npm
下包的时候,默认从国外的 npm 服务器进行下载,此时,网络数据的传输需要经过漫长的海底光缆,因此下包速度会很慢
2.了解淘宝 npm
镜像服务器的作用
1.淘宝在国内搭建了一个服务器,专门把国外官方服务器上的包同步到国内的服务器,然后在国内提供下包的服务。从而极大的提高了下包的速度
2.镜像是一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像
3.切换 npm
的下包镜像源
下包的镜像源,指的就是下包的服务器地址
4. 使用 nrm
切换下载包的服务器
为了更方便的切换下包的镜像源,可以安装 nrm
这个小工具,利用 nrm
提供的终端命令,可以快速查看和切换下包的镜像源
3.包的分类
1. 项目包
-
那些被安装到项目的
node_modules
目录中的包,都是项目包 -
项目包又分为两类,分别是:
-
开发依赖包,被记录到
devDependencies
节点中的包,只在开发期间会用到 -
核心依赖包,被记录到
dependencies
节点中的包,在开发期间和项目上线之后都会用到
2. 全局包
-
在执行
npm install
命令时,如果提供了-g
参数,则会把包安装为全局包 -
全局包会被安装到
C:\Users\用户目录\AppData\Roaming\npm\node_modules
目录下 -
注意:
-
只有工具性质的包,才有全局安装的必要性。因为它们提供了好用的终端命令
-
判断某个包是否需要全局安装后才能使用,可以参考官方提供的使用说明即可
3.i5ting_toc
的安装和使用
i5ting_toc
是一个可以把 md
文档转为 html
页面的小工具