作者 | Bruno Couriol
译者 | 平川
策划 | Tina
最近,Deno 团队发布了 Deno 2。据该团队介绍,Deno 2 可以无缝地与传统的 JavaScript 基础设施进行互操作,并提供了稳定的标准库,用于跨运行时共享 JavaScript 库的现代注册表等。
据称,Deno 2 向后兼容 Node 和 npm。发布说明中写道:
Deno 2 可以解析package.json、node_modules文件夹,甚至是 npm 工作区,这让你可以在任何使用 ESM 的 Node 项目中运行 Deno。如果有你需要的语法微调,可以使用deno lint --fix进行修复。
上述兼容性使团队能够逐步采用 Deno 及其一体化工具链。Deno 开发人员可以通过npm:指定符导入 npm 包:
import chalk from "npm:chalk@5.3.0";
console.log(chalk.blue("Hello, world!"));
// Hello, world! (in blue)
开发人员还可以利用 import 映射为其 npm 包设置裸指定符:
// deno.json
{
"imports": {
"chalk": "npm:chalk@5.3.0"
}
}
然后就可以通过裸指定符使用这个模块了:
import chalk from "chalk";
console.log(chalk.blue("Hello, world!"));
// Hello, world! (in blue)
Deno 2 还声称支持各种常用的 Web 框架,如 Next.js、Astro、Remix、Angular、SvelteKit 和 QwikCity 等。
Deno 2 还通过deno install、deno add和deno remove支持依赖管理。后两个命令分别用于向package.json文件中添加以及从其中删除包。
Deno 标准库现已稳定,并且已经包含在了 Deno 2 中。它包括数十个已经经过审核的实用模块,涵盖数据操作、Web 相关逻辑、JavaScript 特有的功能等。开发人员可以在 Deno 的 JavaScript 注册表(JSR)中查看标准库的完整模块列表。该注册表是一个开源的 JavaScript 注册表,支持 ESM(JavaScript 本机模块),并且接受 TypeScript 包。
发布说明介绍了 JSR 的好处:
它原生支持 TypeScript(你可以将模块发布为 TypeScript 源代码),能够处理多个运行时和环境中模块加载的复杂问题,只允许使用 ESM,通过 JSDoc 样式的注释自动生成文档,并且可以与 npm 和 npx 类似的系统一起使用(是的,JSR 也可以将 TypeScript 转换为.js和.d.ts文件)。
Deno 还支持工作空间(也称为 “monorepos”),可同时管理多个相关且相互依赖的包。Deno 工作空间支持从现有的 npm 包中使用 Deno-first 包,从而简化从 npm 工作空间的迁移。
开发人员可以从 dotcom-2.deno 安装生产版本。建议开发人员查看原发布说明,其中包括新增功能、改进和 Bug 修复的完整列表。Deno 是开源软件,采用 MIT 许可。开发人员可以通过 Deno 项目进行贡献,并应遵循 Deno 贡献指南。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有