由require&import區分開始學習CommonJS規范——node.js學習day1

require&import區分?
CommonJS中,我們用module.exports和require來導出和導入模塊,而到了ES6卻變成了export和import了,這兩者到底有什么區別呢?
  一句話總結:CommonJS模塊是運行輸出(加載)一個值(或對象)的拷貝,而ES6模塊則是編譯時輸出(加載)一個值的引用(或者叫做連接).
  這樣的差異在平常使用是不易被察覺的,可是一旦出現循環引用,兩者的差異就很明顯了。直接的循環引用(a引用b,b又引用a)一般不會有,但在依賴關系復雜的大項目中,很容易出現a引用b,b引用其它模塊,在若干次引用后,模塊n又引用回a這樣的情況。為了講解的方便我們直接構造出一個a,b相互引用的項目。
require OR importrequire OR import

NodeJS和CommonJS之間的關系?
CommonJS是一種規范,NodeJS是這種規范的實現。
CommonJS規范

為什么模塊規范的設計會有不同區別
模塊規范發展歷史

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容