在下菜鳥,最近在了解js模塊化我有個(gè)癖好,對(duì)未知的東西,除了學(xué)習(xí)代碼,還喜歡挖掘下起源和發(fā)展過(guò)程于是,在了解 commonjs 時(shí),各路文章中常??吹絻删湓挘?、2009年 Mozilla 的某位大牛發(fā)明了 commonjs2、2013年 notejs 的某位大牛宣布,commonjs 過(guò)時(shí)了,nodejs已經(jīng)放棄 commonjs于是,疑問(wèn)來(lái)了:既然已經(jīng)放棄,為什么直到今天(2019)我查詢到的所有介紹 commonjs 的文章,依然會(huì)介紹 commonjs 是 nodejs 所采用的模塊規(guī)范方案?不是已經(jīng)放棄了嗎?求前輩們指點(diǎn)。
2 回答

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
Node的模塊系統(tǒng)是“基于”commonjs的,但是并不是完全遵守commonjs。它只是借鑒了commonjs規(guī)范,將其引入到自身之中,然后就不再跟隨commonjs的發(fā)展而發(fā)展了。你可以認(rèn)為Node中的commonjs只是一個(gè)適應(yīng)于它自己的“變種”commonjs而已。

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
所以說(shuō)Node并沒(méi)有完全廢棄commonjs啊,這么說(shuō)的人純粹在誤導(dǎo)。
不過(guò)Node確實(shí)在計(jì)劃引入ES的模塊系統(tǒng),只是目前僅處在實(shí)驗(yàn)階段:參考Node API文檔
至于真正引入ES模塊系統(tǒng)之后是否會(huì)廢棄現(xiàn)有的commonjs模塊系統(tǒng),還是未知數(shù)。我傾向于認(rèn)為不會(huì)廢棄,畢竟也要考慮向下兼容啊,況且兩種模塊系統(tǒng)之間并不沖突,完全是可以兩者并存的。
添加回答
舉報(bào)
0/150
提交
取消