依赖管理

Deno 采用现代模块系统:原生 ES 模块、URL 导入、JSR 与 npm 包、以及 Workspaces,依赖管理简洁且类型完备。

从 npm 安装依赖

使用 deno install 直接从 npm 拉取依赖:

sh
deno install npm:express

随后在代码中像在 Node 中一样导入:

ts
import express from "express";

const app = express();
app.get("/", (_req, res) => res.send("Hi from Deno + express"));
app.listen(3000);

从 JSR 安装依赖

JSR 是面向现代 JavaScript / TypeScript 的开源包注册中心,默认携带类型:

sh
deno install jsr:@std/assert
ts
import { assertEquals } from "jsr:@std/assert@1";

assertEquals(2 + 2, 4);

deno.json 中的依赖声明

安装后的依赖会记录在 deno.jsonimports 中:

deno.json
{
  "imports": {
    "express": "npm:express@^4.21.0",
    "@std/assert": "jsr:@std/assert@^1.0.0"
  }
}
URL 导入
你也可以直接使用完整的 URL 导入模块,无需任何配置文件:
ts
import { clay } from "https://deno.land/x/clay@v0.1.0/mod.ts";

Workspaces(多包工作区)

对于包含多个包的大型项目,可使用 Workspaces 统一管理。详见Workspaces 章节。