由於最近剛離職沒有工作,就在家看**剛好看到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理論上可以運用在 的任何地...