前端技术|Deno 快速入门

今天浏览网页,无意中看到了Deno这个名词,觉得好奇,就简单研究了下。
(1)Deno是什么?
Deno 是一个 JavaScript/TypeScript 的运行时, 是NODEJS的作者由于对NODEJS不满意而开发的NODEJS的替代品。它名字挺有意思,来自 Node 的字母重新排列。
(2)特点是什么?

  • 默认安全。外部代码没有文件系统、网络、环境的访问权限,除非显式开启。
  • 支持开箱即用的 TypeScript 的环境。
  • 底层依赖的语言与NODEJS不同,是 Rust。
  • Deno 不再使用 npm 安装包的方式,彻底告别 require 命令和复杂的 node_modules 文件夹。
  • 有一组经过审计的 标准模块,保证能在 Deno 上工作。
  • 脚本代码能被打包为一个单独的 JavaScript 文件。
  • 只分发一个独立的可执行文件(deno)。
(3)如何安装?
点击下载地址,下载需要的机器版本,目前最新版是1.6,我下载的是windows版本。
前端技术|Deno 快速入门
文章图片

(4)如何配置运行环境?
解压下载好压缩包,放到固定的位置,比如D:\Program Files\deno,双击 deno.exe 会打开一个类似 cmd 的窗口,说明下载文件没问题:
前端技术|Deno 快速入门
文章图片

把D:\Program Files\deno配置到path路径,便于执行deno命令。
(5)编写第一个示例
在 D:\Program Files\deno 下创建一个 test 目录,新建一个 test.ts 文件,写入如下内容:
// test.ts import { serve } from "https://deno.land/std@0.80.0/http/server.ts"; const PORT = 8888; const servres = serve({ port: PORT }); console.log(` Listening on :${PORT}/`); for await (const req of servres) { req.respond({ body: "Hello World" }); }

打开cmd ,进入D:\Program Files\deno\test目录,执行deno run test.ts,但是出现了异常:
前端技术|Deno 快速入门
文章图片

Uncaught PermissionDenied: network access to "0.0.0.0:888", run again with the --allow-net flag
没有网络权限,需要指定 –allow-net 才行,这正是因为Deno 有了安全机制。
重新执行deno run --allow-net test.ts,如下窗口所示,说明启动成功
前端技术|Deno 快速入门
文章图片

访问 http://127.0.0.1:8888,效果如下:
前端技术|Deno 快速入门
文章图片

【前端技术|Deno 快速入门】目前Deno生态还不完善,网上学习资源也有限,后续会继续关注其发展。

    推荐阅读