deno.com

HTTP 服务器:提供文件

在 Github 上编辑

一个提供文件服务的 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 --allow-net --allow-read https://docs.deno.org.cn/examples/scripts/http_server_files.ts

您找到所需内容了吗?

隐私政策