package.json与package-lock.json文件是干什么用的?

本文介绍了Node.js项目中依赖管理的基本概念,包括node_modules文件夹的作用、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"
  }
}

3.项目依赖vs开发依赖

项目依赖

  • 项目依赖:在项目的开发阶段和线上运营阶段,都需要依赖的第三方包
  • 使用npm install 包名 命令将包添加到package.json文件的dependencies字段中
  • 重新安装时使用npm install --production 只安装项目依赖

开发依赖

  • 开发依赖:在项目的开发阶段需要依赖,线上运营阶段不需要的第三方包
  • 使用npm install 包名 --save-dev命令将包添加到package.json文件的devDependencies字段中

4.package-lock.json文件的作用

  • 记录模块与模块之间的依赖关系
  • 锁定包的版本
  • 记录项目所依赖第三方包的树状结构和包的下载地址,加快重新安装的下载速度

5.版本

"rxjs": "~6.5.4", 锁定到小版本 (大.小.补丁版本)
"socket.io-client": "^2.2.0", 锁定到大版本
"socket.io-client": "2.2.0", 严格按照这个版本 

转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值