1.package.json文件(详细内容在同路径下的文件中可以查看)
-
main字段:设置入口文件。在项目中引入axios等库时,会先查看node_modules中axios文件下是否存在package.json,然后查看里面的main字段对应的入口文件,然后引用该文件
-
script字段: 设置脚本运行的指令
- "script":{"start":"node ./src/main.js"} 然后再终端中输入npm run start 即可运行程序,当然start可以写成其他的
-
dependencies 生产和开发都依赖
- 开发项目过程中会使用到第三方库 这些就是生产依赖
- 一般上传项目到github是不会上传node_modules文件的,所以当拿到新的项目时都会通过npm install 下载项目所依赖的第三方库
- npm install 下载开发和生成过程都依赖的库
-
devDependencies 只有开发阶段依赖的库
- npm install xxx --save-dev 下载只有开发依赖的库
- npm install xxx -D 是--save-dev的简写
-
依赖库的 版本规范 x.y.z
- axios:1.4.0
- axios:^2.4.6/~2.4.6
- z表示修复bug后的版本
-
全局安装(-g)、局部安装
- 全局安装的一般都是webpack、yarn等工具
- 局部安装的一般都是axios、pinia等第三方库
2.package-lock.json文件
-
npm install 第三方库(首先不存在node_modules文件夹,但是存在package.json和package-lock.json)
- 防止同版本下载多次,npm设计一个Cache缓存下载过的第三方库
- 当新下载第三方库时,会在缓存中查找,如果存在则拿到该包并解压第三方库,类似于从Cache中copy一个第三方库过来
- 找库时会从package-lock.json中找该库的标识符integrity,然后再去Cache中找
- integrity是package-lock.json中库的标识
- package-lock.json中会明确所依赖库的明确版本
- 清除缓存 npm cache clean
- 获取缓存位置 npm config get cache
-
yarn 部分指令
致谢:以上总结都是看coderwhy老师的课