1. 犀牛前端部落首页
  2. 前端工程化

Deno介绍

使用Deno(一个现代的Node.js替代方案)快速启动和运行。

Deno介绍
Deno Logo

Deno是什么?

如果您熟悉Node.js是流行的服务器端JavaScript生态系统,而Deno就像Node。除了在很多方面有了很大的改进。

  • 让我们从一个快速列表开始,俺最喜欢的 Deno 功能:
  • 它基于JavaScript语言的现代特性
  • 它有一个广泛的标准库
  • 它的核心是TypeScript,这在很多方面都带来了巨大的优势,包括一流的TypeScript支持(你不需要单独编译TypeScript,它是由Deno自动完成的)。
  • 它包含ES模块
  • 它没有包管理器
  • 它支持await
  • 它是一个内置的测试工具
  • 它的目标是尽可能与浏览器兼容,例如通过提供内置fetch和全局窗口对象

我们将在本指南中探索所有这些特性。

在你使用Deno并学会欣赏它的特性之后,Node.js看起来就像一些旧的东西。

特别是因为Node.js API是基于回调的,因为它是在promise和async/await之前编写的。在Node中没有相应的更改,因为这样的更改将非常重要,所以我们只能使用回调或约定的API调用。

js非常棒,它将继续成为JavaScript世界事实上的标准。但是我认为我们会逐渐看到Deno被更多地采用,因为它提供了一流的TypeScript支持和现代的标准库。

Deno的由来

Deno可以用现代技术编写所有东西,因为它不需要维护向后兼容性。当然,我们不能保证十年后同样的事情也会发生在Deno身上,一项新技术也会出现,但这就是目前的现实。

Deno是近两年前由Node.js的创始人Ryan Dahl在JSConf EU上宣布的。观看YouTube上的演讲视频,这非常有趣,如果你经常使用Node.js和JavaScript的话,这是一个必须观看的视频。

每个项目经理都必须做出决定。Ryan对Node的一些早期决策感到遗憾。此外,技术在不断发展,今天的JavaScript与2009年Node刚开始时完全不同。想想现代ES6/2016/2017的特色,等等。

因此,他启动了一个新项目,以创建某种javascript驱动的服务器端应用程序的第二波。

我现在写这个指南而不是以前写的原因是,技术需要大量的时间来成熟。我们最终实现了Deno 1.0(1.0将于2020年5月13日发布),这是第一个正式宣布稳定的Deno版本。

这看起来可能只是一个数字,但是1.0意味着在Deno 2.0之前不会有重大的突破性变化,当你开始研究一项新技术时,这是一个大问题——你不想学习一些东西,然后让它变化得太快。

你应该学习Deno吗?

这是个大问题。

学习像Deno这样的新东西是一项巨大的努力。我的建议是,如果您现在开始使用服务器端JS,而您还不了解Node,并且从未编写过任何TypeScript,那么我将从Node开始。

没有人因为选择Node.js而被解雇。

但是如果你喜欢TypeScript,不要依赖于项目中无数的npm包,你想在任何地方使用await,嘿,Deno可能就是你想要的。

它会取代Node.js吗?

不。Node.js是一个巨大的,建立良好的,令人难以置信的良好支持的技术,将会持续几十年。

支持TypeScript

Deno是用Rust和TypeScript编写的,这两种语言现在发展得非常快。

特别地,用TypeScript编写意味着我们可以得到TypeScript的很多好处,即使我们可以选择用普通的JavaScript编写代码。

并且使用Deno运行TypeScript代码不需要编译步骤——Deno会自动为您完成。

你不需要用TypeScript来写,但是Deno的核心是用TypeScript来写的。

首先,越来越多的JavaScript程序员喜欢TypeScript。

其次,您使用的工具可以推断出许多关于用TypeScript编写的软件的信息,比如Deno。

这意味着,当我们在VS代码中编写代码时,它显然与TypeScript紧密集成,因为两者都是在微软开发的,我们可以在编写代码时得到类型检查和高级智能感知特性等好处。换句话说,编辑可以以一种非常有用的方式帮助我们。

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/3352.html

发表评论

登录后才能评论