Deno 2发布,重点关注与传统JavaScript基础设施的互操作性和大规模使用

Deno 2发布,重点关注与传统JavaScript基础设施的互操作性和大规模使用
2025年01月05日 10:15 InfoQ

作者 | Bruno Couriol

译者 | 平川

策划 | Tina

最近,Deno 团队发布了 Deno 2。据该团队介绍,Deno 2 可以无缝地与传统的 JavaScript 基础设施进行互操作,并提供了稳定的标准库,用于跨运行时共享 JavaScript 库的现代注册表等。

据称,Deno 2 向后兼容 Node 和 npm。发布说明中写道:

Deno 2 可以解析package.jsonnode_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 installdeno adddeno 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 贡献指南。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部