node程式設計中最重要的思想就是模組化,import和require都是被模組化所使用。
遵循規範
require 是 amd規範引入方式
import是es6的乙個語法標準,如果要相容瀏覽器的話必須轉化成es5的語法
呼叫時間
require是執行時呼叫,所以require理論上可以運用在**的任何地方
import是編譯時呼叫,所以必須放在檔案開頭
本質
require是賦值過程,其實require的結果就是物件、數字、字串、函式等,再把require的結果賦值給某個變數
import是解構過程,但是目前所有的引擎都還沒有實現import,我們在node中使用babel支援es6,也僅僅是將es6轉碼為es5再執行,import語法會被轉碼為require
通過require引入基礎資料型別時,屬於複製該變數。
通過require引入複雜資料型別時,資料淺拷貝該物件。
出現模組之間的迴圈引用時,會輸出已經執行的模組,而未執行的模組不輸出(比較複雜)
commonjs模組預設export的是乙個物件,即使匯出的是基礎資料型別
import和require的區別
node程式設計中最重要的思想就是模組化,import和require都是被模組化所使用。遵循規範 呼叫時間 本質 require exports 遵循 commonjs amd,只能在執行時確定模組的依賴關係及輸入 輸出的變數,無法進行靜態優化。用法只有以下三種簡單的寫法 const fs req...
import和require的區別
遵循規範 require 是 amd規範引入方式 import是es6的乙個語法標準,如果要相容瀏覽器的話必須轉化成es5的語法 呼叫時間 require是執行時呼叫,所以require理論上可以運用在 的任何地方 import是編譯時呼叫,所以必須放在檔案開頭 本質require是賦值過程,其實r...
import 和require的區別
文章 node程式設計中最重要的思想就是模組化,import和require都是被模組化所使用。遵循規範 呼叫時間 本質require exports 遵循 commonjs amd,只能在執行時確定模組的依賴關係及輸入 輸出的變數,無法進行靜態優化。用法只有以下三種簡單的寫法 const fs r...