亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

如何理解JavaScript模塊化

瀏覽:64日期:2023-06-03 13:44:18
目錄1. 瀏覽器支持2. export 導出模塊3. import 導入模塊4. 創建模塊對象5. export import 中轉站6. 動態加載模塊1. 瀏覽器支持

使用JavaScript 模塊依賴于 import 和 export,import 和 export 的瀏覽器支持程度是最新的瀏覽器版本都是支持的,但 IE 和舊版本的瀏覽器不支持,因此若想兼容 IE 和舊版本的瀏覽器基本就不能使用了。

export 和 import 是成對出現,配合工作的

JS模塊化是各種JS框架學習的前提基礎

import 和 export 語句用于將一個模塊里實現某些功能的變量或函數導入/導出,也可導入/導出類

2. export 導出模塊

默認導出

一個模塊只能有一個默認導出,默認導出的變量只能有一個,且不能有大括號{}

語法為export default 變量名

model.js

function Test1(){ console.log('這是默認導出')}function Test2(){ console.log(’這是命名導出’)}export default Test1

批量導出

語法為export {變量名,變量名……}

function Test1(){ console.log('這是默認導出')}function Test2(){ console.log(’這是命名導出’)}export {Test1, Test2}3. import 導入模塊

默認導入

main.js

import Test1 from './model.js'Test1()

默認導入的重命名

main.js

import x from './model.js'//x就是默認導出的Test1x()

批量導入

main.js

import {Test1, Test2} from './model.js'Test1();Test2();

批量導入的重命名

as關鍵字跟一個新名字實現重命名

main.js

import {Test1 as x1, Test2 as x2} from './model.js'x1();x2();

也可在導出時用as關鍵字重命名

model.js

function Test1(){ console.log('這是默認導出')}function Test2(){ console.log(’這是命名導出’)}export {Test1 as x1, Test2 as x2}

應用模塊

html

<script src='http://www.aoyou183.cn/bcjs/main.js'></script>4. 創建模塊對象

使用對象,在as關鍵字重命名的基礎上進一步簡單化

import * as Model from './model.js'Model.x1();Model.x2();5. export import 中轉站

有時候可以將多個子模塊組合到一個父模塊中,再由父模塊決定導出哪個,這個父模塊文件就像是個組合各個模塊的中轉站

語法為export {變量名} from 模塊路徑

當前目錄結構結構

src

    index.html

    main.js

    redirection.js

    models

        model.js

        model2.js

model.js

function Test1(){ console.log('這是子模塊1')}export {Test1}

model2.js

function Test2(){ console.log(’這是子模塊2’)}export {Test2}

redirection.js

export {Test1} from './models/model.js'export {Test2} from './models/model2.js'

main.js

import * as Model from './redirection.js'Model.Test1()Model.Test2()

html

<script src='http://www.aoyou183.cn/bcjs/main.js'></script>6. 動態加載模塊

動態加載模塊用于在導入模塊時不必預先加載所有模塊,可以在需要時使用 import() 作為函數調用,將其參數傳遞給模塊的路徑,它返回一個 promise,使用 Promise 對象對模塊加載結果操作。

語法為import(動態加載的模塊路徑)

dynamic.js

function TestDy(){ console.log('這是動態模塊')}export default TestDy

main.js

document.querySelector(’.load’).onclick = function(){ import(’./dynamic.js’).then((Model)=>{Model.default() })}

以上就是如何理解JavaScript模塊化的詳細內容,更多關于JavaScript模塊化的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 欧美特黄a级猛片a级 | 萝l在线精品社区资源 | 国内精品自在自线2020 | 91国内精品 | 日本另类xxxx | 国产精品尤物在线 | 亚洲欧洲日韩综合 | 国产精品爱啪在线线免费观看 | 久久免费视频在线 | 国产精品成人在线 | 成人午夜免费视频免费看 | 70岁老妇女一级毛片爽 | 国产不卡在线观看视频 | 黑粗硬大欧美 | 一级免费黄色大片 | 久久久久女人精品毛片九一 | 黄色在线观看视频 | 米奇精品一区二区三区在线观看 | 成年人免费网站视频 | 久久成人国产精品二三区 | 亚洲欧美一区二区三区在饯 | 午夜在线播放免费人成无 | 免费国产一级特黄aa大片在线 | 国产福利视频一区美女 | 日本大片成人免费播放 | 国产精品jvid在线观看 | 一级黄色免费观看 | 美国一级特黄 | 91在线视频免费 | 香蕉久久夜色精品国产尤物 | 国产h视频在线观看高清 | 嗯!啊!使劲用力在线观看 | 成人国产精品一级毛片视频 | 全免费a级毛片免费看视频免 | 国产大学生一级毛片绿象 | 黄色激情视频网站 | 一级黄色免费 | 亚洲欧美在线视频免费 | 成人精品一区二区www | 在线毛片一区二区不卡视频 |