三、包管理工具
1. 包管理工具npm
Node Package Manager,也就是Node包管理器。
官网:npm包的官网
包的存放:我们发布自己的包其实是发布到registry上面的,当我们安装一个包时也是从registry上面下载的包
1.1项目配置文件
在node环境下面(无论前端还是后端)配置文件都是 package.json
① 常见属性:
- name(必写):项目的名称
- version:当前项目的版本号
- description:描述信息
- author:作者相关信息
- license:开源项目协议
- main:设置程序的入口
- scripts: scripts属性用于配置一些脚本命令,以键值对的形式存在
- dependencies:dependencies属性是指定无论开发环境还是生成环境都需要依赖的包,通常是我们项目实际开发用到的一些库模块 。
- devDependencies:一些包在生成环境是不需要的,比如webpack、babel等
注意: 那么在生成环境如何保证不安装这些包呢?
答:生成环境不需要安装时,我们需要通过 npm install --production 来安装文件的依赖
1.2 版本管理问题
npm的包通常需要遵循semver版本规范
① semver版本规范是X.Y.Z:
- X主版本号(major):当你做了不兼容的 API 修改(可能不兼容之前的版本);
- Y次版本号(minor):当你做了向下兼容的功能性新增(新功能增加,但是兼容之前的版本);
- Z修订号(patch):当你做了向下兼容的问题修正(没有新功能,修复了之前版本的bug);
- ^x.y.z:表示x是保持不变的,y和z永远安装最新的版本;
- ~x.y.z:表示x和y保持不变的,z永远安装最新的版本 。
② 常见属性:
- engines :用于指定Node和NPM的版本号
- browserslist : 用于配置打包后的JavaScript浏览器的兼容情况
1.3 npm install 命令
- 全局安装:npm install yarn -g
- 局部安装:npm install
1.4 项目安装
项目安装会在当前目录下生产一个 node_modules 文件夹
① 安装开发和生产依赖
- npm install axios
- npm i axios
② 开发依赖
- npm install webpack --save-dev
- npm install webpack -D
- npm i webpack –D
③ 根据package.json中的依赖包
- npm install
1.5 npm 其他命令
① 卸载某个依赖包
- npm uninstall package
- npm uninstall package --save-dev
- npm uninstall package -D
② 强制重新build
npm rebuild
**③ 清除缓存 **
npm cache clean
1.6 npm install 原理
2. yarn 工具
yarn 是为了弥补 npm 的一些缺陷而出现的