package.json与package-lock.json文件是干什么用的?
1.node_modules介绍
node_modules
文件夹中存放许多的模块文件及插件
2.package.json文件的作用
产生背景:在拷贝项目时不需要拷贝node_modules文件夹,如果拷贝的话会很慢,那么如何解决安装的依赖与原项目依赖及版本保持一致呢?
package.json
项目描述文件,保存在项目的根目录下面,记录了当前的项目信息,用npm init -y
命令生成- 拷贝项目后,直接执行
npm install
会自动安装package.json
文件中记录的依赖
package.json
文件
{
"name": "description",
"version": "1.0.0",
"description": "",
"main": "index.js",//主入口文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"//命令别名
},
"keywords": [],
"author": "",
"license": "ISC"
"dependencies": {//项目依赖
"formidable": "^1.2.2",
"mime": "^2.4.4"
},
"devDependencies": {//开发依赖
"gulp": "^4.0.2"
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
3.项目依赖vs开发依赖
项目依赖
- 项目依赖:在项目的开发阶段和线上运营阶段,都需要依赖的第三方包
- 使用
npm install 包名
命令将包添加到package.json文件的dependencies
字段中- 重新安装时使用
npm install --production
只安装项目依赖
开发依赖
- 开发依赖:在项目的开发阶段需要依赖,线上运营阶段不需要的第三方包
- 使用
npm install 包名 --save-dev
命令将包添加到package.json文件的devDependencies
字段中
4.package-lock.json文件的作用
- 记录模块与模块之间的依赖关系
- 锁定包的版本
- 记录项目所依赖第三方包的树状结构和包的下载地址,加快重新安装的下载速度