Deno不识别package.json和node_modules,为何其第三方库仓库仍有package.json?
Deno第三方库保留package.json的核心原因
- 兼顾双生态兼容
大部分出现在Deno生态的通用工具库(比如lodash、dayjs)本身就是跨运行时设计的,保留package.json是为了兼容Node.js生态的用户,让Node.js开发者可以直接通过npm包管理器安装使用,不用维护两套独立的代码仓库,大幅降低维护成本。 - 适配常用开发工具链
JS生态里大量成熟的开发工具(比如ESLint代码校验、Prettier格式化、各类单元测试工具、打包工具)的默认配置入口都是package.json,就算库的生产代码只面向Deno,开发阶段用这些工具的时候还是需要这个配置文件,同时scripts字段里还可以统一存放lint、测试、发版相关的命令脚本,方便开发流程调用。 - 统一版本与发版管理
很多库会同时发布到npm仓库和Deno的第三方模块仓库,package.json里的version字段可以作为版本号的唯一可信源,避免两个平台发版时出现版本号不一致的问题,也方便同步发版流程。 - 降低贡献者上手门槛
绝大多数JS/TS生态的开发者都熟悉package.json的配置逻辑,保留这个文件不需要贡献者额外学习Deno独有的配置规则,能吸引更多社区开发者参与代码贡献。
内容的提问来源于stack exchange,提问作者Isaac
相关产品推荐
相关产品推荐

