package.json文件详解

2021-03-06  本文已影响0人  每日log

一、package.json文件

1.创建一个package.json文件

可以使用npm init -y命令生成

2. 生成一个默认的package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

package.json中记录了项目名称、版本、作者等。

除了上述信息外,文件里也包含里当前项目依赖了哪些第三方模块。这些项目依赖可分为项目依赖和开发依赖。

3项目依赖

在项目的开发阶段和线上运营阶段,依赖的第三方包,称为项目依赖

下载命令:npm install 包名

下载的文件会默认被添加到 package.json文件的dependencies 字段中

01. 例如下载jquery

npm install jquery

02. package.json的内容如下:


{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "jquery": "^3.6.0"
  }
}

03. 我们能发现,文件里多了一个dependencies:

"dependencies": {
    "jquery": "^3.6.0"
  }

4开发依赖

在项目的开发阶段需要依赖,线上运营阶段不需要依赖的第三方包,称为开发依赖

使用npm install 包名 --save-dev命令将包添加到package.json文件的devDependencies字段中

01. 例如下载gulp

npm install gulp --save-dev

02. package.json的内容如下:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "jquery": "^3.6.0"
  },
  "devDependencies": {
    "gulp": "^4.0.2"
  }
}

03. 我们能发现,文件里多了一个devDependencies:
"devDependencies": {
    "gulp": "^4.0.2"
  }

二、package.json作用

1 node_modules文件夹的问题

目前项目都是按照工程化的方式创建的,其中会有很多第三方包,下载的第三方包文件都被放在的mode_modules文件夹中,当我们把一个项目拷贝给别人时,如果连带着mode_modules文件,会下载的相当慢。

其次,模块的版本都是不定时更新和维护的,如果不记录着,会导致项目运行报错

2 package-lock.json文件的作用

下载第三方依赖包时,会在项目根目录下生成一个package-lock.json文件package-lock.json这个文件会保存node_modules中所有包的信息

image

这个文件的主要作用是:

锁定包的版本,确保再次下载时不会因为包版本不同而产生问题

image

Readings

image

截图来自日本动漫《怪物事变》

END
原文来自:package.json文件详解

上一篇下一篇

猜你喜欢

热点阅读