Deno 框架提升开发效率的手把手教程

阅读时长 6 分钟读完

什么是 Deno?

Deno 是一个现代化的 JavaScript 和 TypeScript 运行时环境,由 Node.js 的创始人 Ryan Dahl 开发。Deno 相比于 Node.js 具有更好的安全性和更好的可维护性,支持 ES modules,而且不需要 NPM 管理器。

安装 Deno

Deno 可以在 Mac、Linux 和 Windows 上运行。你可以通过以下命令来安装 Deno:

或者你可以使用 Homebrew 进行安装:

安装完成之后,在终端输入以下命令来检查是否安装成功:

Deno 基础

Hello World

在 Deno 中,你可以使用 JavaScript 或 TypeScript 编写代码。在本文中,我们将使用 TypeScript 作为示例。

新建一个 hello-world.ts 文件,并写入以下代码:

然后,在终端中运行以下命令:

你将会看到控制台输出了 "Hello Deno!"。

异步 API

异步 API 是 Deno 的核心特性之一,因为它可以提高程序的响应速度。

在这个例子中,我们使用 Deno 内置的 fetch 函数获取 JSON 数据并将其解析为 JavaScript 对象。

第三方库

与 Node.js 不同,Deno 必须显式批准在代码中使用第三方库。你需要在运行代码时使用 --allow-net 和 --allow-read 等参数来授予 Deno 访问文件和网络的权限。例如:

如果你想使用类似于 npm 的包管理器来安装第三方库,Deno 提供了一个名为 deno.land/x 的包仓库。你可以使用以下命令来安装依赖:

Deno + Oak

Oak 是一个基于中间件的 Web 框架,类似于 Koa。Oak 的 API 接口简单、易于理解,并且易于扩展。我们将使用 Oak 来创建一个简单的 RESTful API。以下是如何使用 Deno 和 Oak 来创建一个简单的 RESTful API:

安装 Oak

在终端中运行以下命令来安装 Oak:

创建应用程序

创建一个名为 app.ts 的文件,并将其写为以下内容:

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

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

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

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

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

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

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

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

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

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

这段代码首先导入了 Application 和 Router 类,然后定义了一个 books Map,其中存储了两本书的信息。接着我们创建了一个 Router 实例并定义了三个路由。

  1. /:返回 "Hello Oak!"
  2. /books:返回 books Map 中所有的书籍信息
  3. /books/:id:根据 id 获取某本书的详细信息

最后我们创建了一个 Server 实例,使用中间件来处理请求和响应。如果你想确认是否运行成功,可以在终端中运行以下命令:

之后就可以在浏览器中访问 http://localhost:3000 来查看 API 是否已经运行。

结论

Deno 提供了许多与 Node.js 相似的功能,但它更加安全、可维护,并且支持 ES modules。结合 Oak 框架,我们可以创建一个具有完整功能的 RESTful API 服务。如果你正在寻找一种基于 TypeScript 的现代化框架来开发 Web 应用程序,那么 Deno 是一个不错的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/676e0f4f2a18d78edd8ef15f

纠错
反馈