猿问

nodejs 和 commonjs 的现状?

在下菜鸟,最近在了解js模块化

我有个癖好,对未知的东西,除了学习代码,还喜欢挖掘下起源和发展过程

于是,在了解 commonjs 时,各路文章中常常看到两句话:

1、2009年 Mozilla 的某位大牛发明了 commonjs
2、2013年 notejs 的某位大牛宣布,commonjs 过时了,nodejs已经放弃 commonjs

于是,疑问来了:

既然已经放弃,为什么直到今天(2019)我查询到的所有介绍 commonjs 的文章,依然会介绍 commonjs 是 nodejs 所采用的模块规范方案?不是已经放弃了吗?

求前辈们指点。


倚天杖
浏览 1547回答 2
2回答

慕村9548890

Node的模块系统是“基于”commonjs的,但是并不是完全遵守commonjs。它只是借鉴了commonjs规范,将其引入到自身之中,然后就不再跟随commonjs的发展而发展了。你可以认为Node中的commonjs只是一个适应于它自己的“变种”commonjs而已。

青春有我

所以说Node并没有完全废弃commonjs啊,这么说的人纯粹在误导。不过Node确实在计划引入ES的模块系统,只是目前仅处在实验阶段:参考Node API文档至于真正引入ES模块系统之后是否会废弃现有的commonjs模块系统,还是未知数。我倾向于认为不会废弃,毕竟也要考虑向下兼容啊,况且两种模块系统之间并不冲突,完全是可以两者并存的。
随时随地看视频慕课网APP
我要回答