deno.com
在此页中

标准库

Deno 提供了一个用 TypeScript 编写的标准库。它是一组可被程序重用的标准模块,使您能够专注于应用程序逻辑,而不是为常见任务“重新发明轮子”。Deno 标准库中的所有模块都经过核心团队的审核,并保证与 Deno 协同工作,从而确保一致性和可靠性。

查看 JSR 上的所有包:

Deno 标准库中的许多包也与 Node.js、Cloudflare Workers 和其他 JavaScript 环境兼容。这使您可以编写可在多个环境中运行而无需修改的代码。

标准库托管在 JSR 上,地址为:https://jsr.deno.org.cn/@std。包附带文档、测试和用法示例。您可以在 JSR 上浏览标准库包的完整列表,但这里有一些示例:

  • @std/path:路径操作实用程序,类似于 Node.js 的 path 模块。
  • @std/jsonc:带注释的 JSON 的(反)序列化
  • @std/encoding:用于编码和解码常见格式(如十六进制、base64 和 variant)的实用程序

版本控制和稳定性 跳转到标题

标准库的每个包都是独立版本控制的。包遵循 语义版本控制规则。您可以使用版本锁定或版本范围来防止主要版本影响您的代码。

导入标准库模块 跳转到标题

要从 Deno 标准库安装包,您可以使用 deno add 子命令将包添加到您的 deno.json 导入映射中。

deno add jsr:@std/fs jsr:@std/path

deno.jsonimports 字段将被更新以包含这些导入。

{
  "imports": {
    "@std/fs": "jsr:@std/fs@^1.0.2",
    "@std/path": "jsr:@std/path@^1.0.3"
  }
}

然后,您可以在源代码中导入这些包。

import { copy } from "@std/fs";
import { join } from "@std/path";

await copy("foo.txt", join("dist", "foo.txt"));

或者,您可以使用 jsr: 说明符直接导入模块。

import { copy } from "jsr:@std/fs@^1.0.2";
import { join } from "jsr:@std/path@^1.0.3";

await copy("foo.txt", join("dist", "foo.txt"));

Node.js 兼容性 跳转到标题

Deno 标准库旨在与 Node.js、Cloudflare Workers 和其他 JavaScript 环境兼容。标准库是用 TypeScript 编写并编译为 JavaScript 的,因此它可以在任何 JavaScript 环境中使用。

npx jsr add @std/fs @std/path

运行此命令会将这些包添加到您的 package.json 中。

{
  "dependencies": {
    "@std/fs": "npm:@jsr/std__fs@^1.0.2",
    "@std/path": "npm:@jsr/std__path@^1.0.3"
  }
}

然后,您可以在源代码中导入它们,就像使用任何其他 Node.js 包一样。TypeScript 将自动找到这些包的类型定义。

import { copy } from "@std/fs";
import { join } from "@std/path";

await copy("foo.txt", join("dist", "foo.txt"));

你找到你需要的内容了吗?

隐私政策