心智模型

理解 Deno 运行时、权限、模块、缓存与内置工具的职责边界

一张图记住 Deno

源代码 (.ts/.js/.wasm)
  ├─ 模块:本地 / JSR / npm / URL
  ├─ 配置:deno.json(c) + deno.lock
  ├─ 工具:fmt / lint / check / test / doc / compile
  └─ 运行:Web API + Deno API + Node 兼容层
                    ↓
          权限边界 (--allow-* / --deny-*)
                    ↓
          文件、网络、环境变量、子进程、FFI

与 Node.js 最不同的三点

  1. 安全默认值:敏感 I/O 默认拒绝,权限可以限制到路径、主机或变量名。
  2. TypeScript 直接运行:执行时会转译但不会自动完成完整类型检查;CI 仍应运行 deno check
  3. 一体化工具链:格式化、Lint、测试和文档生成属于同一版本的 CLI。

依赖不等于一种来源

  • JSR 包使用 jsr:,适合 TypeScript 原生包与 Deno 标准库。
  • npm 包使用 npm:,Node 内置模块使用 node:
  • deno.jsonimports 可以把完整 specifier 映射为稳定的裸导入名。
  • deno.lock 固定解析结果并记录完整性信息,应提交到版本库。

继续阅读:权限模型依赖管理

输入关键词搜索全部文档。