重溫前端之模組化

2021-10-09 07:01:21 字數 1455 閱讀 6689

最開始,並沒有出現模組化規範,一般使用一種 module 模式來解決 js 作用域汙染問題

jq 比較出名

let mymodule =

(function

(window)

return

;// 將函式暴露})

(window)

;

第一種比較規範的規範出現

nodejs 是主要實踐者,使用 exports/require 進行引入匯出

//檔案x.js

let x =1;

function

add(

)module.exports.x = x;

module.exports.add = add;

//也可以丟擲物件

module.exports=

//檔案main.js

let xm =

require

("./x.js");

console.

log(xm.x)

;console.

log(xm.

add())

;

let name =

"name"

;let

getname=(

)=> name;

export

;

import

from

"./test.js"

;

let name =

"name"

;let

getname=(

)=> name;

export

;

import

from

"./test.js"

;

import

*as all from

"./test.js"

;console.

log(all.name)

;

export

default,}

;

import all from

"./test.js"

;//注意,預設匯出不需要大括號

console.

log(all.name, all.

getname()

);

前端模組化

前端模組化解決什麼問題?有了模組,我就可以很方便的使用別人的 想要什麼功能,就用載入什麼模組。但是,這樣做需要有乙個前提,那就是大家必須以同樣的方式編寫模組,否則就亂套了。所以組內需要有一套統一的模組規範。如何實現模組?1 物件字面量的變體 2 js設計模式的模組模式 3 採用成熟的庫檔案。前兩種方...

前端模組化

定義 具有相同屬性和行為的事物的集合 在前端中 將一些屬性比較類似和行為比較類似的內容放在同乙個js檔案裡面,把這個js檔案稱為模組 目的 為了每個js檔案只關注與自身有關的事情,讓每個js檔案各行其職 模組化 指的就是遵守commonjs規範,解決不同js模組之間相互呼叫問題 commonjs a...

前端模組化

當多人開發同一專案時,很容易就會產生命名衝突的問題,尤其是js檔案,任何的js引入順序的打亂都可能導致專案執行失敗,為了解決命名衝突的問題,在es6之前,可以使用函式閉包來解決這個問題。即可能像這樣 function 這樣雖然可以解決命名衝突的問題,但也使得 的復用性變得極差,因為其它的檔案將無法再...