`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 範圍開頭相接。 深入了解範圍與套件名稱。
版本
版本
欄位是套件的版本,必須為有效的 SemVer 版本。每次發布新版本時,都必須增加套件版本。 了解有關套件版本的更多資訊。
外銷
外銷
欄位告訴 JSR 套件的哪些模組可以由使用者匯入。外銷
欄位可以指定為單一字串,或是一個將進入點名稱對應到套件中路徑的物件。
// jsr.json / deno.json
{
"name": "@luca/greet",
"version": "1.0.0",
"exports": {
".": "./mod.ts",
"./greet": "./greet.ts"
}
}
在上述範例中,外銷
欄位是一個物件。.
進入點是套件的預設進入點。./greet
進入點是一個已命名的進入點。使用這個進入點,你可以使用 import { greet } from "@luca/greet/greet";
匯入 greet.ts
模組,並使用 import { greet } from "@luca/greet";
匯入 mod.ts
模組。
你也可以將外銷
欄位指定為單一字串。如果你在套件中只有一個進入點,這很有用。這在語意上等於在物件形式中指定預設進入點。
// 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 架構
JSON 架構檔案可供編輯器使用以提供自動完成。檔案已設定版本並可於下列位置取得: https://jsr.dev.org.tw/schema/config-file.v1.json