JSR 简介
JavaScript 注册表 (**JSR**) 是一个现代的 JavaScript 和 TypeScript 包注册表。JSR 与许多运行时(Node.js、Deno、浏览器等)兼容,并且向后兼容 npm。 详细了解我们构建 JSR 的原因。
使用 JSR 包
使用以下命令之一将包添加到您的项目中。这将向您的项目添加 @luca/cases
的最新版本。
# deno
deno add @luca/cases
# npm (use any of npx, yarn dlx, pnpm dlx, or bunx)
npx jsr add @luca/cases
添加包后,您可以在 ES 模块中导入并使用它,如下所示
import { camelCase } from "@luca/cases";
camelCase("hello world"); // "helloWorld"
在 Deno 中,您可以选择使用 JSR 包,而无需使用 jsr:
说明符和 Deno 的 对 JSR 的原生支持 进行安装步骤。
import { camelCase } from "jsr:@luca/cases@1";
camelCase("hello world"); // "helloWorld"
您可以在 jsr.io 上找到更多包。JSR 网站上的每个包还显示文档,这些文档是根据包的源代码自动生成的。 了解有关使用包的更多信息。
发布 JSR 包
JSR 包使用 jsr publish
/ deno publish
命令发布。您可以从本地机器或 CI 发布包。
首先,编写您的代码。JSR 包是用 JavaScript 或 TypeScript 编写的,并作为 ES 模块发布。
// mod.ts
/**
* A module providing a function to greet people.
* @module
*/
/**
* Greet a person.
*
* @param name The name of the person to greet.
*/
export function greet(name: string) {
console.log(`Hello, ${name}!`);
}
然后,将配置文件添加到您的包中。此文件包含包元数据,例如名称、版本和入口点。 exports
字段 告诉 JSR 哪些模块应该可以被您的包的用户导入。
// jsr.json / deno.json
{
"name": "@luca/greet",
"version": "1.0.0",
"exports": "./mod.ts"
}
最后,运行 npx jsr publish
或 deno publish
来发布您的包。系统将提示您使用 JSR 进行身份验证,然后您的包将被发布。
$ npx jsr publish
Visit https://jsr.deno.org.cn/auth?code=ABCD-EFGH to authorize publishing of @luca/greet
Waiting...
Authorization successful. Authenticated as Luca Casonato
Publishing @luca/[email protected] ...
Successfully published @luca/[email protected]
Visit https://jsr.deno.org.cn/@luca/[email protected] for details