在下菜鸟,最近在了解js模块化我有个癖好,对未知的东西,除了学习代码,还喜欢挖掘下起源和发展过程于是,在了解 commonjs 时,各路文章中常常看到两句话:1、2009年 Mozilla 的某位大牛发明了 commonjs2、2013年 notejs 的某位大牛宣布,commonjs 过时了,nodejs已经放弃 commonjs于是,疑问来了:既然已经放弃,为什么直到今天(2019)我查询到的所有介绍 commonjs 的文章,依然会介绍 commonjs 是 nodejs 所采用的模块规范方案?不是已经放弃了吗?求前辈们指点。
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
Node的模块系统是“基于”commonjs的,但是并不是完全遵守commonjs。它只是借鉴了commonjs规范,将其引入到自身之中,然后就不再跟随commonjs的发展而发展了。你可以认为Node中的commonjs只是一个适应于它自己的“变种”commonjs而已。
青春有我
TA贡献1784条经验 获得超8个赞
所以说Node并没有完全废弃commonjs啊,这么说的人纯粹在误导。
不过Node确实在计划引入ES的模块系统,只是目前仅处在实验阶段:参考Node API文档
至于真正引入ES模块系统之后是否会废弃现有的commonjs模块系统,还是未知数。我倾向于认为不会废弃,毕竟也要考虑向下兼容啊,况且两种模块系统之间并不冲突,完全是可以两者并存的。
添加回答
举报
0/150
提交
取消