写点什么

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:009052

评论

发布
暂无评论

Smartctl 打开设备遇到 Permission denied 问题排查过程记录

耳东@Erdong

Linux smart 6月月更 Permission denied

Android 硬布局item的高级写法

yechaoa

android layout 6月月更

java定义属性错误_错误处理

工程师日月

6月月更

如何抓手机的包进行分析,Fiddler神器或许能帮到您!

wljslmz

抓包 fiddler 6月月更

GitHub 高赞的 Flutter 状态管理插件BLoC 简介

岛上码农

flutter ios 安卓开发 跨平台开发 6月月更

“阿里健康”们的逻辑早就变了

科技新知

jwt

卢卡多多

JWT 6月月更

实战攻防演练中的四大特点

穿过生命散发芬芳

6月月更 攻防演练

Java Core 「17」ThreadLocal

Samson

学习笔记 Java core 6月月更

为什么生命科学企业都在陆续上云?

阿里云弹性计算

HPC 高性能计算 生命科学 基因测序

升哲科技 AI 智能防溺水服务上线

SENSORO

大数据 AI 物联网

谈谈飞书对开发工作的优势 | 社区征文

武师叔

初夏征文

MCN机构遍地开花:博主和作者要谨慎签约、行业水很深

石头IT视角

ERROR日志格式与注意点

zarmnosaj

6月月更

我国SaaS产业的发展趋势与路径

小炮

非凸联合创始人李佐凡:将量化作为自己的终身事业

非凸科技

人工智能 机器学习 rust 量化交易 算法交易

Java基础:异常处理机制

百思不得小赵

异常 javase 6月月更

波卡生态发展不设限的奥义——多维解读平行链

One Block Community

区块链 科技

Sumati GameFi生态纵览,神奇世界中的元素设计

鳄鱼视界

探索C语言程序奥秘——C语言程序编译与预处理

未见花闻

6月月更

TSDB在民机行业中的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

XTransfer技术新人进阶秘诀:不可错过的宝藏Mentor

XTransfer技术

职场新人 职场经验

主数据建设的背景

奔向架构师

数据仓库 主数据 6月月更

Redis 那些事

Damon

6月月更

The Merge 过后,没有以太坊 2.0,只有共识层

TinTinLand

区块链 科技

netty系列之:在netty中使用tls协议请求DNS服务器

程序那些事

Java Netty 程序那些事 6月月更

AntDB数据库在线培训开课啦!更灵活、更专业、更丰富

亚信AntDB数据库

数据库 AntDB 培训学习 数据库·

海泰前沿技术|隐私计算技术在医疗数据保护中的应用

电子信息发烧客

L2 元年,Arbitrum Nitro 升级带来更兼容高效的开发体验

TinTinLand

区块链+ 科技

畅直播|针对直播痛点的关键技术解析

ZEGO即构

直播体验升级 首帧秒开

疫情防控,居家办公,网上授课之心得 | 社区征文

sky

初夏征文

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