`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"
}
include
和 exclude
您还可以使用 include
和 exclude
选项在发布期间包含和排除文件。当使用 deno.json
时,您可以使用 publish.include
和 publish.exclude
来包含和排除仅用于发布的文件,而不是所有 Deno 子命令。 了解有关筛选文件的更多信息.
JSON Schema
编辑器可以使用 JSON Schema 文件提供自动补全功能。该文件是版本化的,可从以下地址获取:https://jsr.deno.org.cn/schema/config-file.v1.json