常见问题
Deno 2 的 Node 兼容、TypeScript、安全、npm/JSR 与生产使用答案
Deno 能直接运行 Node.js 项目吗?
许多项目可以。Deno 2 支持 package.json、npm 包和大量 Node API,但原生扩展、loader、安装脚本和边缘 API 仍需真实测试。采用 渐进迁移。
运行 TypeScript 会自动类型检查吗?
不要依赖这一假设。执行路径强调快速转译与运行;CI 显式执行 deno check。
Deno 默认安全是否意味着可运行任意不可信代码?
不是。权限模型降低默认 I/O 能力,但同一线程代码共享权限;--allow-run、FFI、资源耗尽和运行时漏洞需要 OS/容器级隔离。阅读 权限边界。
应该用 JSR 还是 npm?
优先遵循仓库约定。TypeScript 原生包和标准库先看 JSR;成熟 Node 包可直接使用 npm。用维护、兼容、许可与供应链约束选择,而不是按口号选择。
deno.json 会替代 package.json 吗?
可以独立使用,也可以共存。Deno 配置负责 tasks、imports、workspace 和工具设置;迁移项目可保留 package.json 的 npm 元数据与脚本。
Deno 可以用于生产吗?
可以,但运行时不替你完成版本固定、最小权限、日志、健康检查、容量、密钥、回滚和平台验证。使用 生产基线。