package.json

包是一组编写好的代码,可以直接引入到项目中使用。具体来说,包其实就是一个文件夹,文件夹中会包含一个或多个 js 文件,这些 js 文件就是包中存放的各种代码。除了必要的代码外,包中还有一个东西是必须的,它叫做包的描述文件—— package.json 。package.json 顾名思义,它就是一个用来描述包的 json 文件。它里边需要一个 json 格式的数据(json 对象),在 json 文件中通过各个属性来描述包的基本信息,像包名、版本、依赖等包相关的一切信息。它大概长成这个样子

{
  "name": "my-awesome-package",
  "version": "1.0.0",
  "author": "Your Name <email@example.com>"
}

package.json 中包含有哪些字段呢?我们来研究一下:

  1. name(必备)
    包的名称,可以包含小写字母、_ 和 -
  2. version(必备)
  • 包的版本,需要遵从 x.x.x 的格式
  • 规则:
    • 版本从 1.0.0 开始
    • 修复错误,兼容旧版(补丁)1.0.1 、1.0.2
    • 添加功能,兼容旧版(小更新)1.1.0
    • 更新功能,影响兼容(大更新)2.0.0
  1. author
    包的作者,格式:Your Name <email@example.com>
  2. description
    包的描述
  3. repository
    仓库地址(git)
  4. scripts
    自动脚本

除了上述的字段外,package.json 中还有一些其他字段由于暂时还未涉及,所以我们遇到的时在详细说明。

通常情况下,我们的自己创建的每一个 node 项目,都可以被认为是一个包。都应该为其创建 package.json 描述文件。同时,npm 可以帮助我们快速的创建 package.json 文件。只需要进入项目并输入 npm init 即可进入 npm 的交互界面,只需根据提示输入相应信息即可。输入后根据提示输入相应信息即可:
image
也可以直接通过 npm init -y 直接通过默认选项来创建 package.json :
image
总之,项目中需要一个 package.json 来对项目进行描述,无论你是通过何种方式(手动或命令行)在你的项目下创建一个即可。

package.json 常用字段及其含义

image
其中最后的 type 字段是涉及到模块规范的支持,它有两个可选值: commonjs 和 module ,其默认值为 commonjs 。

  • 当不设置,或者在 package.json 里增加一个 "type": "commonjs" 的字段时,扩展名为 .js 和 .cjs 的文件都是 CommonJS 规范的模块,如果要使用 ES Module 规范,需要使用 .mjs 扩展名
  • 当不设置,或者在 package.json 里增加一个 "type": "module" 的字段时,扩展名为 .js 和 .mjs 的文件都是 ES Module 规范的模块,如果要使用 CommonJS 规范,需要使用 .cjs 扩展名

关于 package.json 的完整的选项可以在 npm Docs 上查阅。

posted @ 2023-07-12 21:27  HopeLive  阅读(39)  评论(0)    收藏  举报