主要观点:
- HTTP 导入一直是 Deno 的关键特性,但存在诸多问题,如 URL 过长、依赖管理困难、重复依赖、可靠性问题等。
- 为解决这些问题,Deno 引入了 Import Maps 和 JSR,Import Maps 可恢复短且易记的标识符并管理多个文件的版本,JSR 是理解语义版本控制的中心化仓库,能解决可靠性和重复依赖问题。
- 现有使用 HTTP 导入的 Deno 脚本仍可工作,现在推荐使用 Import Maps 替代
deps.ts
,使用 JSR 替代deno.land/x
和/或 npm。 - Deno 2 即将发布,包含 JSR 共享模块、语义版本控制、Import Maps 管理依赖等特性,还有工作区和 monorepo 支持、深度 Node/npm 兼容性等,9 月发布,可通过
DENO_FUTURE=1
标志平滑迁移。
关键信息:
- HTTP 导入最初旨在用分布式系统替代 npm,但存在多种问题。
- Import Maps 可解决 URL 过长和管理版本问题,JSR 可解决可靠性和重复依赖问题。
- JSR 是理解语义版本控制的中心化仓库,继承 HTTP 导入的优点。
- Deno 2 即将发布,包含多种改进特性。
重要细节:
- 如长 URL 在大型项目中会使代码库混乱,Node 的导入更短更易记。
deps.ts
管理依赖繁琐,URL 缺乏语义版本控制,易导致重复依赖。- 去中心化模块系统导致可靠性问题,JSR 可避免。
- 现有 Deno 脚本可继续使用 HTTP 导入,新系统中使用 Import Maps 和 JSR 更简洁,且可通过 import map 使导入标识符更短、管理版本更易。
- Deno 2 包含多种特性,9 月发布,可通过
DENO_FUTURE=1
标志平滑迁移,有一些 minor breaking changes。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。