前端模組化的發展以及es6模組化詳解

2021-10-07 18:21:17 字數 1437 閱讀 8603

模組化型別

在 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 模組兩種,在這裡暫...