当前位置:首页 > Web开发 > 正文

package.json详解

2024-03-31 Web开发

  十二月一号,还有一个月就2020年了,亲爱的小伙伴你们还好么,这一年过得是否很充实,进步是否很多啊,我想大家都在忙着长大,忙着工作,忙着各种人情世故,但是我希望可爱的你可以静下心来再好好的打磨自己,我们这一代年轻人(包括笔者我也是)都很急躁,恨不得马上成功?亦或是短期成为一个很优秀的人,但是有些东西是急不得,需要沉下来仔细规划,不负韶华,想要的东西我相信迟早有一天会到来!我们还很年轻,但是这个世界却慢慢的把我们的棱角都磨平了,我们很气愤但是却又无奈的只能接受,今天是个周日,我一大早也来了公司,感觉世界也挺美的,周末的生活气息相对于忙碌的工作日浓厚了许多,静下来去享受生活。2019做最棒的自己!

Node 项目在项目根目录中名为 package.json 的文件中跟踪依赖关系和元数据。这是你项目的核心。它包含名称、描述和版本之类的信息,以及运行、开发以及有选择地将项目发布到 NPM 所需的信息。

在本教程中,我们将:

了解 package.json 与项目之间的关系

确定重要字段和元数据

了解如何管理 package.json

目标

了解什么是 package.json 文件,它与你项目的关系以及需要了解的常见属性。

了解 package.json

如果你以前用过 Node.js,则可能会遇到 package.json 文件。它是一个 JSON 文件,位于项目的根目录中。你的 package.json 包含关于项目的重要信息。它包含关于项目的使人类可读元数据(如项目名称和说明)以及功能元数据(如程序包版本号和程序所需的依赖项列表)。

package.json 示例如下所示:

{ "name": "my-project", "version": "1.5.0", "description": "Express server project using compression", "main": "src/index.js", "scripts": { "start": "node index.js", "dev": "nodemon", "lint": "eslint **/*.js" }, "dependencies": { "express": "^4.16.4", "compression": "~1.7.4" }, "devDependencies": { "eslint": "^5.16.0", "nodemon": "^1.18.11" }, "repository": { "type": "git", "url": "https://github.com/osiolabs/example.git" }, "author": "Jon Church", "contributors": [{ "name": "Amber Matz", "email": "[email protected]", "url": "https://www.osiolabs.com/#team" }], "keywords": ["server", "osiolabs", "express", "compression"] } 复制代码 package.json 的用途是什么?

项目的 package.json 是配置和描述如何与程序交互和运行的中心。 npm CLI(和 yarn)用它来识别你的项目并了解如何处理项目的依赖关系。package.json 文件使 npm 可以启动你的项目、运行脚本、安装依赖项、发布到 NPM 注册表以及许多其他有用的任务。 npm CLI 也是管理 package.json 的最佳方法,因为它有助于在项目的整个生命周期内生成和更新 package.json 文件。

package.json 会在项目的生命周期中扮演多个角色,其中某些角色仅适用于发布到 NPM 的软件包。即使你没有把项目发布到 NPM 注册表中,或者没有将其公开发布给其他人,那么 package.json 对于开发流程仍然至关重要。

你的项目还必须包含 package.json,然后才能从 NPM 安装软件包。这可能是你在项目中需要它的主要原因之一。

package.json 中的常见字段

让我们看一下 package.json 中包含的一些最常见和重要的字段,以更好地了解如何使用和管理这个基本文件。有些用来发布到 NPM,而其他一些则可以帮助 npm CLI 运行应用程序或安装依赖项。

实际的字段比我们所介绍的要多,你可以在它的文档中了解其余字段,但以下的是必须要了解的 package.json 属性。

name "name": "my-project" 复制代码

name 字段定义包的名称。发布到 NPM 注册表时,这是软件包将在其中显示的名称。它不能超过 214 个字符,只能是小写字母,并且必须是URL安全的(允许连字符和下划线,但 URL 中不允许使用空格或其他字符)。

如果将软件包发布到 NPM,则 name 属性是必需的,并且必须是唯一的。如果尝试用 NPM 注册表上当前已经使用的名称发布程序包,则会收到错误消息。如果你的软件包并不是要发布到 NPM 上,则 name 不必是唯一的。

version "version": "1.5.0", 复制代码

version 字段对于任何已发布的软件包都非常重要,并且在发布之前是必填的。这是 package.json 描述的软件的当前版本。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/42029.html