什么是 Deno?
Deno 是一个基于 JavaScript 和 TypeScript 的运行时环境,与 Node.js 类似。不同的是,Deno 中没有全局包管理器、没有默认的权限、使用 ES 模块(不需要使用 CommonJS 的 require())和 TypeScript 集成,内置了安全机制和标准库等特性。
为什么选择 Deno?
Deno 拥有 Node.js 所不能匹配的优势:
- 安全性更高:默认情况下,Deno 只能访问明确授权的文件系统、网络和环境变量,在执行代码之前,还会在隔离的沙箱中运行它。
- 更易于维护:Deno 中没有 node_modules 文件夹,只需要将依赖包的 URL 粘贴到代码中即可引用它。
- 实时编译 TypeScript:Deno 原生支持 TypeScript,无需手动进行配置、安装。
如何使用 Deno 构建 RESTful API?
以下是使用 Deno 和 Oak 制作 RESTful API 的步骤:
1. 安装 Deno
Deno 可以从 Deno 官网 下载运行时环境,选择适合自己系统的安装包进行安装。
2. 安装 Oak
Oak 是一种现代的 Web 框架,允许您构建具有中间件的 Web 应用程序。可以通过以下命令来安装 Oak:
$ deno install —-allow-read —-allow-net https://deno.land/x/oak/mod.ts
3. 创建 RESTful API
创建文件名为 app.ts
的文件,并编写以下代码:
// javascriptcn.com 代码示例 import { Application, Router } from "https://deno.land/x/oak/mod.ts"; const router = new Router(); router.get("/", (ctx) => { ctx.response.body = "Hello Deno!"; }); router.get("/users", (ctx) => { ctx.response.body = "User list here"; }); router.get("/users/:id", (ctx) => { ctx.response.body = `User details will be shown here ${ctx.params.id}`; }); const app = new Application(); app.use(router.routes()); app.use(router.allowedMethods()); await app.listen({ port: 8080 });
4. 运行 RESTful API
在终端中运行以下命令启动 RESTful API:
$ deno run --allow-net app.ts
打开浏览器访问 localhost:8080
和 localhost:8080/users/1
即可看到效果。
总结
Deno 与 Node.js 有着本质的区别,相比 Node.js 更加注重安全性和易用性。使用 Deno 和 Oak 制作 RESTful API 可以让开发过程更加方便和流畅。虽然 Deno 的生态系统还比较薄弱,但它已经展示了自己的独特价值和无限潜力。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654da8337d4982a6eb7152b9