require表示的是運行時加載。而import表示的是編譯時加載(效率更高),由于是編譯時加載,所以import命令會提升到整個模塊的頭部。
遵循的模塊化規范不一樣
模塊化規范:即為 JavaScript 提供一種模塊編寫、模塊依賴和模塊運行的方案。誰讓最初的 JavaScript 是那么的裸奔呢——全局變量就是它的模塊化規范。require/exports 出生在野生規范當中,什么叫做野生規范?即這些規范是 JavaScript 社區中的開發者自己草擬的規則,得到了大家的承認或者廣泛的應用。比如 CommonJS、AMD、CMD 等等。import/export 則是名門正派。TC39 制定的新的 ECMAScript 版本,即 ES6(ES2015)中包含進來。
出現的時間不同
require/exports 相關的規范由于野生性質,在 2010 年前后出生。AMD、CMD 相對命比較短,到 2014 年基本上就搖搖欲墜了。一開始大家還比較喜歡在瀏覽器上采用這種異步小模塊的加載方式,但并不是銀彈。隨著 Node.js 流行和 Browsersify 的興起,運行時異步加載逐漸被構建時模塊合并分塊所替代。Wrapper 函數再也不需要了。 2014 年 Webpack 還是新玩意,現在已經是前端必備神器了。
以上就是初中英語學習:import require區別的全部內容,大家趕快學起來吧!