为何 2024了 nodejs 还是不放弃 commonjs 方案?
Node.js 仍然使用 CommonJS 方案的原因主要有以下几点:
综上所述,Node.js 继续支持 CommonJS 方案是为了保持向后兼容性、维护生态系统的稳定性,以及允许开发者逐步过渡到新的模块系统。
CommonJS 并不差,支持动态加载,对环境要求也低,不增加新的语法元素。很好用。
ESM 为了前后端统一,不得已有一些取舍。比如动态加载就麻烦很多。
另外就是历史原因。Node.js 作为最普及的运行时,必须保证向后兼容,不像新出的产品可以想怎么做就怎么做。
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
8 回答3.6k 阅读
3 回答2.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
因为历史包袱太重了,放弃了的话原本之前社区中的CJS包怎么办……毕竟CJS是社区已经使用了N年的事实标准。并且有一些CJS的项目已经不在维护了。
只能长期EMS和CJS共存的状态。先通过工具来抹平两者这间的差异,再逐步过渡到 ESM。过渡期应该不会太久了。
CommonJS 和 ES Module 终于能够互相兼容了 - 终身学习者
JavaScript 模块化现状 - 秘锐笔记
混乱是进步的阶梯 —— ESM规范的崛起【上】 - 魔术师卡颂