文档核心工具链

运行时与 HTTP

运行 TypeScript、使用 Web API、启动 HTTP 服务并管理生命周期

运行文件与任务

deno run main.ts
deno run --watch --allow-net main.ts
deno task dev

deno run 适合直接执行入口;deno task 适合把参数和权限固化到 deno.json。对团队项目,优先让 README 和 CI 调用 task,避免每个人记一组不同参数。

使用 Web 标准 API

const controller = new AbortController();

Deno.serve({ port: 8000, signal: controller.signal }, (request) => {
  const url = new URL(request.url);
  if (url.pathname === "/health") return Response.json({ ok: true });
  return new Response("Not found", { status: 404 });
});

Deno.addSignalListener("SIGTERM", () => controller.abort());
deno run --allow-net main.ts

请求与响应使用标准 RequestResponseURL、Streams 和 fetchDeno.serve 负责监听;它不是完整的认证、限流或部署平台。

环境变量与退出

const port = Number(Deno.env.get("PORT") ?? "8000");
if (!Number.isInteger(port)) throw new Error("PORT must be an integer");

只授予需要的变量:--allow-env=PORT。进程退出码、未处理异常和信号处理必须在部署前用目标环境验证。

官方参考:Run codeHTTP server

输入关键词搜索全部文档。