Deno 教程 目录

Deno 创建基本HTTP服务器

引入

本章将介绍如何使用 Deno 创建一个基本的 HTTP 服务器。我们将从简单的示例开始,逐步深入,直到你可以创建功能齐全的 Web 服务。

安装 Deno

首先确保你的系统上已经安装了 Deno。你可以通过以下命令来检查是否已安装:

如果没有安装,可以参考 Deno 的官方文档进行安装。

创建项目

我们将在当前目录下创建一个名为 basic-http-server 的新文件夹,并进入该文件夹:

初始化项目

接下来,我们可以初始化一个新的 Deno 项目。虽然 Deno 不强制要求使用 deno.json 文件,但为了方便管理依赖和配置,建议创建一个。你可以手动创建这个文件,也可以运行以下命令自动生成:

这会生成一个 deno.json 文件,内容如下:

编写代码

接下来,我们将编写第一个 HTTP 服务器。在项目的根目录下创建一个名为 server.ts 的文件,并输入以下代码:

这段代码引入了 Deno 的标准库中的 serve 函数,用于创建一个监听在 8000 端口的 HTTP 服务器。每当有请求到达时,服务器都会返回 "Hello World" 文本。

运行服务器

保存文件后,可以通过运行以下命令启动服务器:

--allow-net 参数允许 Deno 访问网络,因为我们的 HTTP 服务器需要监听端口。

打开浏览器并访问 http://localhost:8000,你应该能看到页面显示 "Hello World"。

路由处理

接下来我们将增加一些功能,比如处理不同的路由。修改 server.ts 文件,添加对不同路径的响应:

-- -------------------- ---- -------
------ - ----- - ---- -----------------------------------------------

----- ------ - ------- ----- ---- ---

----------------- ------ ------- -- ------------------------

--- ----- ------ --- -- ------- -
  ----- --- - --- -------------
  --- -------------

  ------ -------------- -
    ---- ----
      ------------ - -------- -- --- -----------
      ------
    ---- ---------
      ------------ - ----- -- --- ----- -------
      ------
    --------
      ------------ - ---- -------
  -

  ------------- ----- ------------ ---
-

现在我们有了一个简单的路由处理器,可以针对根路径 ("/") 和 /about 路径返回不同的消息。

添加静态文件支持

为了让服务器能够提供静态文件,如 HTML、CSS 或 JavaScript 文件,我们需要稍微调整代码。首先,创建一个 public 文件夹并在其中放入一些静态资源文件,例如 index.html

-- -------------------- ---- -------
--------- -----
----- ----------
------
  ----- ----------------
  ----- --------------- ---------------------------- -------------------
  ----------- ------------
-------
------
  ----------- -- --- --------------
-------
-------

然后更新 server.ts 文件,加入静态文件处理逻辑:

-- -------------------- ---- -------
------ - ----- - ---- -----------------------------------------------
------ - ---------- - ---- ------------------------------------------

----- ------ - ------- ----- ---- ---

----------------- ------ ------- -- ------------------------

--- ----- ------ --- -- ------- -
  ----- --- - --- -------------
  --- -------------

  ------ -------------- -
    ---- ----
      ------------ - -------- -- --- -----------
      ------
    ---- ---------
      ------------ - ----- -- --- ----- -------
      ------
    --------
      -- --------------------------------------- -
        ------------ - ----- ---------------------------------------------
      - ---- -
        ------------ - ---- -------
      -
  -

  ------------- ----- ------------ ---
-

在这个版本中,我们使用了 existsSync 函数来检查文件是否存在,并且使用 readTextFile 方法读取文件内容作为响应体。

总结

至此,你已经学会了如何使用 Deno 创建一个基本的 HTTP 服务器,包括简单的路由处理以及静态文件的支持。这只是 Deno 众多强大功能的一个起点。通过进一步的学习和实践,你可以构建出更复杂和功能丰富的 Web 应用程序。

上一篇: Deno HTTP服务器
下一篇: Deno 处理HTTP请求
纠错
反馈