[Deno] Deno 从 啥也没有 到 实现第一个API接口
程序员文章站
2024-02-22 10:25:28
...
[Deno] Deno 从啥也没有
到实现第一个API接口
一些废话
Deno 1.0 的发布已经有了约一个月的时间,短时间内也惹来了相当大的争议,当然也早已经有不少目光看准了这个新平台。
它具体能不能代替NodeJs,我觉得短期内还不能;NodeJs十余年的发展已经使得它有了比较庞大的生态,市场也愈发的接近成熟,而Deno的出现,很显然在这个后端语言百花齐放的时代并不是显得那么有竞争力。
据悉 Deno 的特性
- 使用 Ts 或 Js
- 去中心化Packages (没有package.json)
- 安全控制(权限标识符)
- ES Modules
- Top level Await
- 标准库
- 浏览器兼容的API
流程
- 安装环境
- 创建并运行
安装环境
更多详细可见
Deno官网
1. 安装 Deno 运行环境(以Windows为例)
- 打开终端 (PowerShell)
- 输入以下命令安装软件包:
iwr https://deno.land/x/install/install.ps1 -useb | iex
1. 安装 Deno 运行环境(以Mac为例)
- 打开终端
- 输入以下命令安装软件包
curl -fsSL https://deno.land/x/install/install.sh | sh
- 如果你装有Homebrew,也可以这样安装:
brew install deno
2. 验证安装
- 打开终端
- 输入命令以验证Deno是否安装成功
deno
- 出现版本号 即安装成功
- 会进入编辑模式,按 ctrl + d 退出
创建并运行 Deno
1. 创建文件
- 创建项目目录,并创建文件,这里我采用的TypeScript,所以文件名暂命名为
01.ts
- 引入 官方的http标准库,
https://deno.land/std/http/server.ts
(已经不是Node的CommonJs格式) - 注意:需要 网络 来加载标准库
import { serve } from "https://deno.land/std/http/server.ts";
const s = serve({ port:8008 });
console.log('http://localhost:8008/');
for await (const req of s){
req.respond({body:"Hello world!\n"});
}
- 因为vscode的语法插件不能很好的支持deno,所以会有红色波浪线提示错误,但实际是没有错的。可以在vscode拓展中安装
deno
这个语法插件
2. 运行
- 标准运行格式为
deno run ***文件名
,但一些操作需要权限,所以要在运行中加入权限标识符
-
--allow-read
读文件权限 -
--allow-write
写文件权限 -
--allow-net
允许网络通信 -
--allow-env
读取环境变量 - …
- 这里只需要打开网络通信功能,所以运行命令如下(
如遇防火墙拦截,一定要允许
)
deno run --allow-net 01.ts
- 将会开始下载依赖包,如果没有出错的话,将会显示如下:
3. 访问
- 这时我们打开浏览器,访问
localhost:8008
,看到了返回值,至此一个简单的deno API接口就搭建完成了
上一篇: SPI + DMA