快速上手 deno!node.js 已死?

目录
文章目录隐藏
  1. 如何安装 deno?
  2. node.js 死了吗?

快速上手 deno!node.js 已死?

deno v1.0.0 发布了。deno 一个基于 V8 的 Javascript 和 Typescript 运行时,由 node.js 的创建者 Ryan Dahl 创建。

众所周知,Ryan Dahl 一直对创建 node.js 时犯下的一些错误耿耿于怀。

所以他找到了一种方法来解决这些错误,没错,就是创建 deno 来代替 node.js 广泛用于生产环境。Node 具有社区支持,并且更加成熟。

deno 的主要特性如下:

  • 设计安全,除非明确允许,否则 deno 不能访问网络或文件系统
  • Promise
  • 没有 npm, deno 使用 URL 或文件路径来引入模块,与浏览器端高度相似
  • 原生支持 TypeScript

更多详细信息,请访问官网

如何安装 deno?

Mac 用户,可以使用 brew 安装:

brew install deno

Shell 用户可以使用:

curl -fsSL https://deno.land/x/install/install.sh | SH

Windows 用户可以使用 PowerShell:

iwr https://deno.land/x/install/install.ps1 -useb | iex

更多安装方式请参考 github

Hello World 来了

import { serve } from "https://deno.land/std@0.50.0/http/server.ts";
const s = serve({ port: 8080 });
console.log("First deno example! Running on http://localhost:8080/");
for await (const req of s) {
  req.respond({ body: "Hello World\n" });
}

将以上代码另存为 Example.ts,然后运行

deno run Example.ts

你可能会看到一些类似于下面这些代码的报错信息

Download https://deno.land/std@0.50.0/textproto/mod.ts
Download https://deno.land/std@0.50.0/http/http_status.ts
Download https://deno.land/std@0.50.0/bytes/mod.ts
error: Uncaught PermissionDenied: network access to "0.0.0.0:8000", run again with the --allow-net flag
    at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
    at Object.sendSync ($deno$/ops/dispatch_json.ts:72:10)
    at Object.listen ($deno$/ops/net.ts:51:10)
    at listen ($deno$/net.ts:152:22)
    at serve (https://deno.land/std@0.50.0/http/server.ts:261:20)

这是 deno 的特性之一,需要网络授权

deno run --allow-net Example.ts

接下来控制台就会输出日志:

First deno example! Running on http://localhost:8080/

node.js 死了吗?

这么说还为时尚早。尽管 deno 比 node.js 更加干净和设计良好,但是 node.js 目前被广泛用于生产环境,并且有社区的支持,更加地成熟。

时间会证一切!

作者:Nurettin Onur YAKIT

译者:尼古拉斯

原文链接:点击这里

译文内容来源 JavaScript 公众号

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 快速上手 deno!node.js 已死?

发表回复