ECMAScript 6+ 新特性 ( 六 ) 模塊化

2.17. 模塊化

模塊化是指將一個大的程序文件,拆分成許多小的文件,然后將小文件組合起來。

這樣就可以更清晰和結構化的方式組織代碼

模塊功能主要由兩個命令構成:export 和 import

export 命令用于規定模塊的對外接口 ( 公開 , 暴露)

import 命令用于輸入其他模塊提供的功能 ( 導入 )

2.17.1.export公開

2.17.1.1.分別公開

文件位置及名稱 ../js/s1.js

在每一個元素前寫 export

export let name = '王小二';export function study() {console.log("我們一起學開發");
}
2.17.1.2.統一公開

文件位置及名稱 ../js/s2.js

//統一公開
let name = '李小三';function findJob(){console.log("我們一起找工作!!");
}//
export {name , findJob};
2.17.1.3.默認公開

文件位置及名稱 ../js/s3.js

//默認公開
export default {name: '趙小四',change(){console.log("我們一起變有錢!!");}
}

2.17.2.import導入

2.17.2.1.通用導入

這里 < script> 的 type屬性 為 module 模塊

<script type="module">// 通用的導入方式// 引入 s1.js 模塊內容// import * as s1 from "./js/s1.js";// console.log(s1.name)// s1.study()// //引入 s2.js 模塊內容// import * as s2 from "./js/s2.js";// //引入 s3.js import * as s3 from "./js/s3.js";console.log(s3.default.name)s3.default.study()
</script>     
2.17.2.2.解構導入
<script type="module">// import {name, study} from "./js/s1.js";// console.log(name)// study()// import {name as nn, findJob} from "./js/s2.js";import {default as s3} from "./js/s3.js";console.log(s3.name)s3.change()</script>  
2.17.2.3.簡便形式
<script type="module">
// 針對默認暴露
import s3 from "./js/s3.js";
console.log(s3);

2.17.3.入口文件

將 導入 統一寫在 ../js/App.js

import * as s1 from "./js/s1.js";
import * as s2 from "./js/s2.js";
import * as s3 from "./js/s3.js";

在 使用的html頁面導入

 <script src="./js/App.js" type="module"></script>

2.17.4.動態import()

不是提前導入 , 而是在使用時才通過import() 函數導入,

import() 函數返回 promise對象, 直接接 then()

const btn = document.querySelector('#btn');btn.onclick = function(){import('./js/s1.js').then(module => {module.study();});
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712974.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712974.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712974.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PowerShell 詳細介紹

PowerShell 是微軟開發的一款功能強大的命令行工具和腳本語言&#xff0c;它基于 .NET Framework 構建&#xff0c;可以幫助系統管理員和開發者自動化各種系統管理和應用程序開發任務。PowerShell 提供了豐富的命令集和腳本功能&#xff0c;可以輕松地管理 Windows 操作系統、應…

呦呵,阿里云果然是良心云

關注盧松松&#xff0c;會經常給你分享一些我的經驗和觀點。 你聽說了嗎?阿里云全線降價20%&#xff0c;還上了熱搜。2024年一開年&#xff0c;看來阿里云殺紅了眼&#xff0c;云市場即將變天。 現在續費的阿里云主機&#xff0c;續費三年和續費兩年的價錢差不多&#xff0…

更先進的功能,無注意力大模型Eagle7B:基于RWKV,推理成本降低10-100 倍,另一個工具包使得大模型推理性能加速達40倍(附詳細代碼使用舉例)

更先進的功能,無注意力大模型Eagle7B:基于RWKV,推理成本降低10-100 倍,另一個工具包使得大模型推理性能加速達40倍(附詳細代碼使用舉例)。 在 AI 賽道中,與動輒上千億參數的模型相比,最近,小模型開始受到大家的青睞。比如法國 AI 初創公司發布的 Mistral-7B 模型,其…

攝像頭工程師說 Camera - 顏色空間 YUV 與 YCbCr 的區別與聯系(4)

攝像頭工程師說 Camera - 數據格式 YUV 與 YCbCr 的區別與聯系&#xff08;4&#xff09; 概述 上回書咱們說到 攝像頭工程師說 Camera - 數據格式 YUV 格式的存儲&#xff08;3&#xff09; 本節咱們說說YUV 與 YCbCr 兩種色彩空間定義的聯系與區別。 相同點&#xff1a; Y…

MySQL基礎(三)

文章目錄 MySQL基礎&#xff08;三&#xff09;1. 多表查詢1.1 概述1.1.1 數據準備1.1.2 介紹1.1.3 分類 1.2 內連接1.3 外連接1.4 子查詢1.4.1 介紹1.4.2 標量子查詢1.4.3 列子查詢1.4.4 行子查詢1.4.5 表子查詢 1.5 案例 2. 事務2.1 介紹2.2 操作2.3 四大特性 3. 索引3.1 介紹…

Java-常用集合

Jva常用集合 一、Java 集合框架體系二、Collection接口和方法1. List接口List 接口主要實現類&#xff1a;ArrayListList 的實現類之二&#xff1a;LinkedListList 的實現類之三&#xff1a;Vector 2. Set接口Set 主要實現類&#xff1a;HashSetSet 實現類之二&#xff1a;Link…

HCIA-Datacom實驗指導手冊:7 構建簡單 IPv6 網絡

HCIA-Datacom實驗指導手冊&#xff1a;7 構建簡單 IPv6 網絡 一、實驗介紹&#xff1a;二、實驗拓撲&#xff1a;三、實驗目的&#xff1a;四、配置步驟&#xff1a;步驟 1 設備基礎配置設備命名 步驟 2 配置設備及接口 IPv6 功能步驟 3 配置接口的 link-local 地址&#xff0c…

《C++進階--10.多態》

目錄 10. 多態 10.1 多態的基本概念 10.2 多態案例一-計算器類 10.3 純虛函數和抽象類 10.4 多態案例二-制作飲品 10.5 虛析構和純虛析構 10.6 多態案例三-電腦組裝 10. 多態 10.1 多態的基本概念 多態是C面向對象三大特性之一 多態分為兩類 靜態多態: 函數重載 和 運算…

全網爆火的 MBTI 測試,是隱藏的割韭菜工具?

小伙伴們&#xff0c;誰能想到&#xff0c;作為一名沖浪老手&#xff0c;果子在網上又被騙了。 事情是這樣的&#xff0c;前幾天&#xff0c;我刷微博&#xff0c;看到一個推薦&#xff0c;大概如下圖&#xff0c;是一個 MBTI 人格測試。 MBTI 測試&#xff0c;果子早就做過了…

UCSF DOCK 分子對接詳細案例(01)- rigid, fixed anchor, flexible dock

歡迎瀏覽我的CSND博客&#xff01; Blockbuater_drug …點擊進入 文章目錄 前言一、操作環境二、研究背景三、受體-配體結構文件準備3.1準備文件夾DOCK_workdir, 下載晶體結構3.1.1 來自濕實驗的受體配體共晶結構&#xff1a;3.1.2 來自深度學習和語言模型推理預測的蛋白結構&a…

Spring Boot整合Kafka

文章目錄 1. 介紹2. Kafka基礎2.1. 安裝KafKakafka集群搭建_kafka交流群-CSDN博客 3. Spring Boot整合Kafka3.1. 引入Kafka依賴3.2.編寫配置文件 4. 生產者&#xff08;produced&#xff09;4.1. 生產者基礎案例(基礎測試) 5. 消費者5.1.消費者基本案例(基礎測試) 6.Kafka常用配…

【LLM RAG】GritLM:統一嵌入和生成的大語言模型淺談

前言 目前&#xff0c;所有基于文本的語言問題都可以歸結為生成問題&#xff0c;并通過單一的LLM來處理。然而&#xff0c;使用嵌入的任務&#xff08;如聚類或檢索&#xff09;在這種視角下往往被忽視了。文本嵌入在許多關鍵的實際應用中扮演著重要角色。如RAG&#xff0c;在…

AIGC下一步:如何用AI再度重構或優化媒體處理?

讓媒資中“沉默的大多數”再次煥發光彩。 鄒娟&#xff5c;演講者 編者按 AIGC時代下&#xff0c;媒體內容生產領域隨著AI的出現也涌現出更多的變化與挑戰。面對AI的巨大沖擊&#xff0c;如何優化或重構媒體內容生產技術架構&#xff1f;在多樣的應用場景中媒體內容生產技術又…

Oracle case when end和decode的區別

Oracle中的CASE WHEN和DECODE都是條件表達式&#xff0c;但它們在某些方面有所不同。 CASE WHEN&#xff1a; CASE WHEN是一個條件表達式&#xff0c;允許您基于條件返回不同的值。它具有以下結構&#xff1a; sql CASE WHEN condition1 THEN result1 WHEN condition2 THE…

JavaScript 基本數據類型的詳解

JavaScript的基本數據類型 以下都是JS內置的幾種類型 數據類型描述number數字&#xff0c;不區分整數和小數string字符串類型booleantrue 真, false 假undefined表示未定義的值null只有唯一的值 null&#xff0c;表示空值 number 數字類型 JavaScript 中不區分整數和浮點數&…

itertools, 一個超好用的Python庫

前言 Python用來處理迭代器的工具你想到了啥&#xff1f;itertools 就是一個特別有用的庫&#xff0c;它提供了一系列用于創建和操作迭代器的工具&#xff0c;以下是10個常用的操作&#xff0c;可用在實際工作中&#xff0c;熟練掌握這些操作&#xff0c;將極大提升你在 Pytho…

棧(順序棧)實現Language C

###王道考研的學習領悟&#xff0c;個人喜好講解清晰 何為棧&#xff1f; 定義:棧&#xff08;stack&#xff09;是只允許在一端進行插入或刪除的線性表。 其重要術語&#xff1a;棧頂&#xff0c;棧底&#xff0c;空棧。 我們只需要把這個圖看明白了&#xff0c;理解起來就…

學校機房Dev c++解決中文亂碼問題

工具->編譯選項->勾選 編譯時加入以下命令 -fexec-charsetGBK -finput-charsetUTF-8 顯示中文&#xff1a;工具->編輯器選項->去掉第一個的勾勾。

vue+node對接支付寶沙箱

目錄 一、準備工作 二、后端node 1、添加支付寶配置文件 2、開始寫支付提交接口 3、前端部分&#xff08;點擊提交訂單&#xff09;3.1、寫axios請求 3.2、點擊提交訂單按鈕后發送網絡請求 3.3、付款成功跳轉的頁面的路徑是下面這樣的&#xff1a; 4、后端向支付寶發請求…

Github上最值得學習的10個Android開源項目,安卓面試題

1.Java語言進階與Android相關技術核 Android應用是由Java語言進行開發的&#xff0c;SDK也是由Java語言編寫&#xff0c;對于Android來說&#xff0c;只要SDK沒有用Kotlin重寫&#xff0c;那么Java語言是都需要學習的。而且Android APK的后臺服務器程序大概率是Java語言構建&a…