js模組化學習

2021-10-19 15:01:55 字數 2465 閱讀 2491

乙個模組的組成

模組化

模組化的進化過程

namespace模式 :

iife模式/增強

模組化規範

引入模組 : require

var module = require('模組名/模組相對路徑')

引入模組發生在什麼時候?

amd : 瀏覽器端

cmd : 瀏覽器端

es6

引入使用模組 : import

問題: 所有瀏覽器還不能直接識別es6模組化的語法

解決:

全域性function模式

namespace模式

iife模式

iife模式增強

頁面載入多個js的問題

這些問題可以通過現代模組化編碼和專案構建來解決

建立專案結構

|-modules

|-module1.js

|-module2.js

|-module3.js

|-package.json

模組化編碼

工具: 右鍵–>執行

建立專案結構

|-js

|-dist //打包生成檔案的目錄

|-src //原始碼所在的目錄

|-module1.js

|-module2.js

|-module3.js

|-index.html

|-package.json

定義模組**

頁面使用引入:

建立專案結構

|-js

|-libs

|-require.js

|-modules

|-alerter.js

|-dataservice.js

|-main.js

|-index.html

定義require.js的模組**

應用主(入口)js: main.js

(function () 

})//引入使用模組

require( ['alerter'], function(alerter) )

})()

頁面使用模組:

使用第三方基於require.js的框架(jquery)

在main.js中配置jquery路徑

paths:

在alerter.js中使用jquery

define(['dataservice', 'jquery'], function (dataservice, $) )

alert(name + ' '+dataservice.getmsg())

}return

})

使用第三方不基於require.js的框架(angular/angular-messages)

在main.js中配置

(function () ,

/*配置不相容amd的模組

exports : 指定匯出的模組名

deps : 指定所有依賴的模組的陣列

*/shim: ,

'angular-messages' : }})

//引入使用模組

require( ['alerter', 'angular', 'angular-messages'], function(alerter, angular) )

})()

頁面:

建立專案結構

|-js

|-libs

|-sea.js

|-modules

|-module1.js

|-module2.js

|-module3.js

|-module4.js

|-main.js

|-index.html

定義sea.js的模組**

index.html:

定義package.json檔案

安裝babel-cli, babel-preset-es2015和browserify

定義.babelrc檔案

```4. 編碼 編譯

頁面中引入測試

import $ from 'jquery'

$('body').css('background', 'red')

前端模組化 學習指南

1.前端模組化 js模組化提供幾種規範 1.commonjs 規範 代表的就是 onde 適合後台開發 因為是同步的,伺服器是執行比較快等待時間不長,common.js 不適合用於前端,前端客戶端是瀏覽器,瀏覽器追求的是非同步載入,瀏覽器不能等太長時間。2.前端模組的規範是 amd 規範 代表的就是...

模組化學習一動態切換配置

當專案大到一定程度後,各個模組的業務相互耦合,維護的時候非常困難,另外專案大到一定程度後,編譯速度也是很慢,所以這個時候模組化就顯得很有必要了。網上的解說很多,這裡就不再多說。一般在專案模組劃分好之後,各個模組之間要能單獨除錯,和作為乙個依賴之前進行切換,所以就要進行簡單的動態配置。來控制模組是否作...

JS模組化開發

模組化開發有點像分工合作,比方說乙個手機,它是由一系列的功能模組組合在一起的,比如攝像頭,螢幕,cpu,作業系統,而每個功能模組可能是由不同公司生產的,比如從a公司買的處理器,b公司做的攝像頭,c公司加工的螢幕。網頁也是這樣,當 量越來越大,功能越來越複雜的時候,我們就很難乙個 中完成所有的工作,所...