deno.com

HTTP 服务器:文件服务

一个提供文件服务的 HTTP 服务器示例。

导入用于提供带 MIME 类型文件服务的实用方法。
import { serveDir, serveFile } from "jsr:@std/http/file-server";
这里我们启动一个简单的服务器
Deno.serve((req: Request) => {
从 URL 获取路径(例如:example.com/whatever -> /whatever)
  const pathname = new URL(req.url).pathname;

  if (pathname === "/simple_file") {
在最基本的情况下,我们可以直接使用请求对象和文件路径调用此函数
    return serveFile(req, "./path/to/file.txt");
  }

  if (pathname.startsWith("/static")) {
我们还可以使用 serveDir 实用方法提供整个目录的服务。默认情况下,它提供当前目录的服务,但可以使用 "fsRoot" 选项进行更改。我们可以使用 "urlRoot" 选项来剥离 URL 的起始部分,以防我们不将目录服务于顶层。
    return serveDir(req, {
      fsRoot: "public",
      urlRoot: "static",
    });
  }

  return new Response("404: Not Found", {
    status: 404,
  });
});

使用 Deno CLI 在本地运行此示例

deno run -N -R https://docs.deno.org.cn/examples/scripts/http_server_files.ts

您找到所需内容了吗?

隐私政策