最新公告  | 
  • CTRL + D 加入收藏不迷路哦!

  • 欢迎您光临码云笔记网,一个关注WEB前端开发的个人技术博客!

快速上手 deno!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公众号

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » 快速上手 deno!node.js 已死?

发表评论

准备开启WordPress网站建设推广?

联系我们 定制开发