require和import的區別歸納

2021-10-05 19:23:09 字數 1198 閱讀 6020

由於最近剛離職沒有工作,就在家看**剛好看到require,所以就寫篇文章給自己加深點印象(順便複習一下,手動滑稽一下。)

回歸到整體(兩者的區別)

require是commonjs的語法(引入的是amd的規範) commonjs模組是物件

import是es6的語法 es6模組不是物件

requrie是執行時載入 (生成乙個物件,再從物件上取值)

import是編譯時載入(確認引用關係後在輸出,import變數會提公升:列1)

require賦值或者淺拷貝(基本型別是複製,物件型別是淺拷貝)

import類似於解構賦值 (當我需要誰的時候就呼叫誰)

列:1 (import變數提公升)

// a.js

let name = 'will

letsetname=(

)=>

export

// index.js

set(

)// set方法不會報錯(『set』)

impotrt

from

'a.js'

列2(requrie複製或前拷貝,import解構)

(require)

// a.js

let a =

0let

count=(

)=>

module.

export

=// index

let obj =

require

('a.js'

)console.

log(obj)

//

obj.

set(

)// 'count', 2

settimeout((

)=>

,1000)(

import

)// a.js

let a =

0let

count=(

)=>

export

// index.js

import

from

'a.js'

console.

log(a)

// 0

set(

)settimeout((

)=>

,1000

)

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 是 amd規範引入方式 import是es6的乙個語法標準,如果要相容瀏覽器的話必須轉化成es5的語法呼叫時間 require是執行時呼叫,所以require理論上可以運用在 的任何地...