Deno 简介
在本课程中,你将学习 Deno 的基础知识,并能迅速上手使用 Deno。
什么是 Deno?
Deno,根据官方网站描述,是一个简单、现代且安全的 JavaScript 和 TypeScript 运行时,基于 V8 引擎,并使用 Rust 编写。
Node.js 的原始创造者 Ryan Dahl 在 2018 年的 JSConf EU 演讲中宣布了 Deno,演讲题目为《我对 Node.js 的十件遗憾》。Deno 与 Node.js 类似,但它是作为对 Node.js 的改进而设计的,因此具备多项优化功能。它拥有许多实用特性,例如默认安全机制、原生支持 TypeScript、ES 模块以及类似 Go 语言的包管理方式。
Deno 的核心特性
- 默认安全
- 未经显式授权,无法访问文件、网络或环境变量
- 原生支持 TypeScript
- 仅打包为一个可执行文件
- 内置工具,如依赖项检查器(Deno info)和代码格式化工具(Deno fmt)
- 提供经过审核的标准模块集合,确保与 Deno 完全兼容
默认安全
这意味着你的 Deno 代码在未获得许可前无法访问系统资源。因此,它不能读写文件、访问网络端口,也无法使用插件,除非你明确允许。
TypeScript 支持
TypeScript 已经存在多年。作为一种强类型化的 JavaScript 超集,它受到许多开发者的青睐。Deno 对 TypeScript 提供第一级支持,意味着无需单独编译 TypeScript 文件。Deno 会自动处理这一过程。在本课程中,你将深入学习 TypeScript 的相关知识及其与 Deno 的集成方式。
ES 模块
Deno 完全采用 ES 模块规范。它不依赖 npm 等包管理器,而是允许用户直接通过 URL 导入模块,类似于 Go 语言的模块引入方式。
为什么你应该学习 Deno?
随着前端开发领域的快速发展,新技术层出不穷,了解哪些技术可能在未来更广泛地应用至关重要。凭借其强大的功能集,Deno 被预测将在不久的将来成为 Web 开发的重要组成部分。
学习前提
尽管本课程旨在教授使用 Deno 进行后端 Web 开发的基础知识,但掌握 JavaScript 是必不可少的。此外,建议先学习 Node.js,因为它的社区更为庞大,这有助于理解 Deno 设计为改进 Node.js 的原因。
Deno 会取代 Node.js 吗?
不会。目前已有大量生产环境的应用依赖于 Node.js。Node.js 并非劣质技术。虽然 Deno 是作为一项改进而诞生的,但 Node.js 本身也是一个非常优秀的运行时环境。因此,Deno 将与 Node.js 共存,成为其并列的替代选择。