关于项目中的package.json的介绍

2023-11-29 23:17:11 浏览数 (1)

package.json

每一个项目都要有一个package.json文件(包描述文件,就像产品的说明书一样)

这个文件可以通过npm init自动初始化出来

代码语言:javascript复制
D:codenode中的模块系统>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (node中的模块系统)
Sorry, name can only contain URL-friendly characters.
package name: (node中的模块系统) cls
version: (1.0.0)
description: 这是一个测试项目
entry point: (main.js)
test command:
git repository:
keywords:
author: xiaochen
license: (ISC)
About to write to D:codenode中的模块系统package.json:

{
  "name": "cls",
  "version": "1.0.0",
  "description": "这是一个测试项目",
  "main": "main.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "xiaochen",
  "license": "ISC"
}


Is this OK? (yes) yes

对于目前来讲,最有用的是dependencies选项,可以用来帮助我们保存第三方包的依赖信息。

如果node_modules删除了也不用担心,只需要在控制面板中npm install就会自动把package.json中的dependencies中所有的依赖项全部都下载回来。

  • 建议每个项目的根目录下都有一个package.json文件
  • 建议执行npm install 包名的时候都加上--save选项,目的是用来保存依赖信息

package.json和package-lock.json

npm 5以前是不会有package-lock.json这个文件

npm5以后才加入这个文件

当你安装包的时候,npm都会生成或者更新package-lock.json这个文件

  • npm5以后的版本安装都不要加--save参数,它会自动保存依赖信息
  • 当你安装包的时候,会自动创建或者更新package-lock.json文件
  • package-lock.json这个文件会包含node_modules中所有包的信息(版本,下载地址。。。)
    • 这样的话重新npm install的时候速度就可以提升
  • 从文件来看,有一个lock称之为锁总结和思考package.json 是一个用于描述 Node.js 模块的元数据文件,它位于模块的根目录下。它包含了模块的名称、版本、作者、依赖等信息,以及一些脚本命令。
    • 这个lock使用来锁版本的
    • 如果项目依赖了1.1.1版本
    • 如果你重新install其实会下载最细版本,而不是1.1.1
    • package-lock.json的另外一个作用就是锁定版本号,防止自动升级

以下是 package.json 中的常用字段:

  • name:模块的名称,必须是唯一的。
  • version:模块的版本号。
  • description:模块的描述信息。
  • main:指定模块入口文件的路径。
  • keywords:一组关键词,用于搜索和分类。
  • repository:存放代码的仓库信息。
  • author:模块作者的信息。
  • license:模块的许可证信息。
  • dependencies:指定依赖的其他模块,使用版本号进行控制。
  • devDependencies:开发依赖的其他模块,只在开发时需要使用。
  • scripts:定义一些脚本命令,例如测试、构建、运行等。

在使用 npm 或者 yarn 管理 Node.js 模块时,package.json 扮演了重要的角色。在项目根目录下执行 npm install 或者 yarn install 命令会根据 package.json 文件中的 dependenciesdevDependencies 字段安装依赖的模块。

总之,package.json 是 Node.js 模块的重要元数据文件,通过它可以方便地管理模块的依赖关系、版本信息等。开发者可以根据实际情况对其中的各个字段进行配置。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞