跳至主要内容

查看目录

`jsr.json` 文件

JSR 包需要包含一个配置文件,该文件指定包的名称、版本和导出。此文件应命名为 `jsr.json` 或 `jsr.jsonc`。使用 Deno 时,`jsr.json` 配置文件的所有属性都可以放在 `deno.json` 中。

// jsr.json / deno.json
{
  "name": "@luca/greet",
  "version": "1.0.0",
  "exports": "./mod.ts"
}

name

name 字段是您的包的名称,以 JSR 范围为前缀。 了解有关范围和包名称的更多信息.

version

version 字段是您的包的版本,它必须是有效的 SemVer 版本。每次发布新版本时,您都必须递增包的版本。 了解有关包版本的更多信息.

exports

exports 字段告诉 JSR 哪些模块应该可以被您的包的用户导入。exports 字段可以指定为单个字符串,也可以指定为将入口点名称映射到包中路径的对象。

// jsr.json / deno.json
{
  "name": "@luca/greet",
  "version": "1.0.0",
  "exports": {
    ".": "./mod.ts",
    "./greet": "./greet.ts"
  }
}

在上面的示例中,exports 字段是一个对象。. 入口点是包的默认入口点。./greet 入口点是一个命名入口点。使用此入口点可以使用 import { greet } from "@luca/greet/greet"; 导入 greet.ts 模块,并使用 import { greet } from "@luca/greet"; 导入 mod.ts 模块。

您也可以将 exports 字段指定为单个字符串。如果您在包中只有一个入口点,这将很有用。它在语义上等效于在对象形式中指定默认入口点。

// deno.json
{
  "name": "@luca/greet",
  "version": "1.0.0",
- "exports": {
-   ".": "./mod.ts"
- }
+ "exports": "./mod.ts"
}

includeexclude

您还可以使用 includeexclude 选项在发布期间包含和排除文件。当使用 deno.json 时,您可以使用 publish.includepublish.exclude 来包含和排除仅用于发布的文件,而不是所有 Deno 子命令。 了解有关筛选文件的更多信息.

JSON Schema

编辑器可以使用 JSON Schema 文件提供自动补全功能。该文件是版本化的,可从以下地址获取:https://jsr.deno.org.cn/schema/config-file.v1.json

在 GitHub 上编辑此页面