模組化型別
在 es6 之前,社群制定了一些模組載入方案,最主要的有 commonjs 和 amd 兩種。前者用於伺服器,後者用於瀏覽器。後面又有了es6模組化(export/import)。
commonjs定義的模組分為:
require()用來引入外部模組;exports物件用於匯出當前模組的方法或變數,唯一的導出口;module物件就代表模組本身。npm作為node的包管理器,遵循commonjs規範。
cmd是懶載入, 僅在require時才會載入模組; - amd是預載入, 在定義模組時就提前載入好所有依賴為什麼使用模組化?
這種原始的載入方式暴露了一些顯而易見的弊端:
es6模組化的特點
1、靜態載入模組,效率比commonjs 模組的載入方式高;匯入和匯出模組2、es6 模組是編譯時載入
3、不再需要umd模組格式
4、不再需要物件作為命名空間(比如math物件)
5、支援嚴格模式
匯入匯出**,只能單獨使用,不能使用變數或者表示式。在js執行之前已經開始編譯。如果使用表示式或者變數的話,會識別不出
export
var a =
10;
var a =10;
var b =10;
export
;
匯出資料如果有重名,可以取別名 as 。一種可以匯出的時候取,另外一種可以匯入的時候取名 匯出資料是動態繫結、匯出的資料可以是任何資料
// 報錯編譯問題
// if(1===1)
// }
//只有乙個類匯出的情況:
// export default class product
}class
score
}export
default
var t =
'./a.js'
;//會報錯
import命令具有提公升效果,會提公升到整個模組的頭部,首先執行
import
from
'./b'
//等價於
import
*as zonghe from
'./b'
//zonghe=
import z from
'./c';/*
z =
*/
es6 的模組化
這個是需要複習下的,否則後面的react vue 就理解不清晰了 我覺得js 很牛,為啥,因為前後端都是js 這樣結合起來,很順暢 而且node 作為後端,搭建輕量級伺服器,很是好用,寫個介面絲毫沒有任何問題 後面的基本三大塊,1,node express koa 2,三大框架,react vue ...
ES6的模組化
模組化的特點 1 模組 自動執行在嚴格模式下,沒有任何辦法跳出嚴格模式 2 在模組的作用域下建立的變數,不會被新增到全域性作用域中 3 如果外部可以讀取模組當中的內容,需要模組的匯出 4 模組頂級作用域的this為undefined 匯出資料 export var color pink export...
ES6 的模組化
模組化的產生主要是為了將大型js程式拆分為相互依賴的小檔案,並且相互拼接起來。es6 模組功能主要由兩個命令構成 export和import。export命令用於規定模組的對外介面,import命令用於輸入其他模組提供的功能。在es6之前社群就已經有了commonjs 和 amd 模組兩種,在這裡暫...