一、包管理工具
1、npm 什么时候用全局安装?什么时候用局部安装?
- 【全局安装】当一个库完全是工具属性的,可以进行全局安装,比如node、npm、n
- 【局部安装】当一个库是开发属性的时候,基本都是进行局部安装的,比如 axios、vue
2、如果把 webpack 安装到 dependencies 里面,会对最终打出来的包有什么影响吗?
- 不会对最终包造成影响
- 因为打包是根据【依赖树关系图】进行打包的,并不会把webpack打包到最终包里面
3、package-lock.json 文件,它的作用是什么?
- 【作用】记录当前项目安装的
唯一确定的
第三方版本号 - 【具体过程】在执行 npm install 时,会检测
package.json
和package-lock.json
依赖一致性
4、如果package.json 里面的axios是 0.26.1版本,而package-lock.json文件的axios版本是0.24.1版本,在执行 install 的时候,会出现什么情况?【感觉这个搞得不是很清楚,后续再说吧】
- 会出现依赖关系不一致,优先以package.json为主,去registry仓库拿版本。然后重新构建更新package-lock.json的版本
5、简述 npm install
内部执行流程?【重点】
- 【要素】registry库、本地缓存、package.json、package-lock.json
6、哪里查看registry库的缓存?【了解】
npm get cache
二、yarn、cnpm、npx、npm上传自己的第三方库【此模块都了解即可】
1、为什么会出现yarn?
- npm5版本之前,非常难用,有比较多的缺陷