写点什么

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

作者:Bruno Couriol

  • 2025-01-09
    北京
  • 本文字数:1051 字

    阅读完需:约 3 分钟

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

最近,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 贡献指南。


原文链接:

https://www.infoq.com/news/2024/12/deno-2-released/

2025-01-09 16:009244

评论

发布
暂无评论

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

科学主义 -- 个人进步的杀手

俞凡

认知

架构实战营 - 模块二作业

李东旭

「架构实战营」

模块二作业

Geek_35a345

Vue进阶(幺伍零):Vue key应用

No Silver Bullet

Vue 7月日更 key

模块 2. 架构设计

Geek_ywh40v

Data Mesh,数据网格的道与术

王知无

网络攻防学习笔记 Day77

穿过生命散发芬芳

网络攻防 7月日更

17道题你能秒我?我Hbase八股文反手就甩你一脸

王知无

云计算的革命尚未开始

大可不加冰

云计算 Cloud 基础设施即代码 Cloud Native

大数据与分布式

喵叔

7月日更

Python OpenCV 对象检测,图像处理取经之旅第 37 篇

梦想橡皮擦

7月日更

一文入门 Go 的性能分析

Rayjun

pprof Go 语言

微信朋友圈的高性能复杂度

张文龙

#架构实战营

【面试&个人成长】2021年过半,社招和校招的经验之谈

王知无

Spark SQL和DataFrames:与外部数据源进行交互(五)

Databri_AI

sql spark

【LeetCode】连续子数组的最大和Java题解

Albert

算法 LeetCode 7月日更

微信朋友圈的高性能复杂度分析

架构0期-Bingo

第五周作业 - 知识星球加入星球的流程图

小夏

产品经理训练营 邱岳

丢失api-ms-win-crt-runtimel1-1-0

好孩子

福布斯解读区块链行业如何改变全球人才供给

CECBC

两个月面试5家,(美团、360、新浪网、完美世界、搜狐)已拿美团18k*16薪offer

Java 编程 程序员 架构 面试

白嫖一份小白到进阶网络安全学习宝典【建议收藏】

网络安全学海

面试 网络安全 信息安全 渗透测试 开发安全

设计一个秒杀系统

卢卡多多

秒杀 7月日更

如何写出富含知识的代码

escray

学习 极客时间 7月日更 如何落地业务建模

Vue进阶(幺肆捌):Vuex辅助函数详解

No Silver Bullet

Vue vuex 7月日更

和12岁小同志搞创客开发:检测按键状态的两件法宝

不脱发的程序猿

DIY 中断 创客开发 按键检测

分享几个团队敏捷转型过程中的故事

Bruce Talk

Scrum 敏捷 Agile

华为数据治理及数据分类管理实践

王知无

模块二作业

SAKIN

心理韧性:如何让自己从逆境中走出来

石云升

学习 心理学 7月日更

Deno 2发布,重点关注与传统JavaScript基础设施的互操作性和大规模使用_编程语言_InfoQ精选文章