在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎么導入導出Javascript模塊呢

OSC開源社區 ? 來源:OSCHINA 社區 ? 2022-12-30 09:41 ? 次閱讀

筆者開始學習 Javascript 的時候,對模塊不太懂,不知道怎么導入模塊,導出模塊,就胡亂一通試 比如import xx from 'test.js'不起作用,就加個括號import {xx} from 'test.js' 反正總是靠蒙,總有一種寫法是對的,其實還是沒有理解,還是不懂 尤其是在當初寫www.helloworld.net網站的時候,一遇到這種問題,就懵逼了,尤其是引入第三方庫的時候 這種情況下更多,此篇文章也是為了怕以后忘記,自查用的,也希望能幫助更多的朋友,此篇文章只是針對 ES6 的模塊相關知識

首先要知道 export,import 是什么

我們知道,JS 模塊導入導出,使用import,export這兩個關鍵字

export用于對外輸出本模塊

import用于導入模塊

也就是說使用 export 導出一個模塊之后,其它文件就可以使用 import 導入相應的模塊了

下面我們具體看看, import 和 export 到底怎么用?怎么導出模塊(比如變量,函數,類,對象等)

1 導出單個變量

//a.js 導出一個變量,語法如下
export var site = "www.helloworld.net"

//b.js 中使用import 導入上面的變量
import { site } from "/.a.js" //路徑根據你的實際情況填寫
console.log(site)//輸出:www.helloworld.net

2 導出多個變量

上面的例子是導出單個變量,那么如何導出多個變量呢

 //a.js 中定義兩個變量,并導出
 var siteUrl="www.helloworld.net"
 var siteName="helloworld開發者社區"
 
 //將上面的變量導出
 export { siteUrl ,siteName }  
 
 
 
 // b.js 中使用這兩個變量
 import { siteUrl , siteName } from "/.a.js" //路徑根據你的實際情況填寫

 console.log(siteUrl)//輸出:www.helloworld.net
 console.log(siteName)//輸出:helloworld開發者社區

3 導出函數

導出函數和導出變量一樣,需要添加{ }

//a.js 中定義并導出一個函數
function sum(a, b) {
    return a + b
}
//將函數sum導出
export { sum } 


//b.js 中導入函數并使用
import { sum } from "/.a.js" //路徑根據你的實際情況填寫
console.log( sum(4,6) ) //輸出:10

4 導出對象

js 中一切皆對象,所以對象一定是可以導出的,并且有兩種寫法

4.1 第一種寫法

使用export default關鍵字導出,如下

//a.js 中,定義對象并導出, 注意,使用export default 這兩個關鍵字導出一個對象
export default {
    siteUrl:'www.helloworld.net',
    siteName:'helloworld開發者社區'
}


//b.js 中導入并使用
import obj from './a.js'   //路徑根據你的實際情況填寫
console.log(obj.siteUrl)//輸出:www.helloworld.net
console.log(obj.siteName)//輸出:helloworld開發者社區

4.2 第二種寫法

同樣是使用export default關鍵字,如下

//a.js 中定義對象,并在最后導出
var obj = {
   siteUrl:'www.helloworld.net',
    siteName:'helloworld開發者社區'
}

export default obj//導出對象obj


//b.js 中導入并使用
import obj from './a.js'   //路徑根據你的實際情況填寫
console.log(obj.siteUrl)//輸出:www.helloworld.net
console.log(obj.siteName)//輸出:helloworld開發者社區

5 導出類

導出類與上面的導出對象類似,同樣是用export default關鍵字,同樣有兩種寫法

5.1 第一種寫法

//a.js 中定義一個類并直接導出
export default class Person {
    //類的屬性
    site = "www.helloworld.net"

    //類的方法
    show(){
        console.log(this.site)
    }
}


//b.js 中導入并使用
//導入類
import Person from './a.js'

//創建類的一個對象person
let person = new Person()

//調用類的方法
person.show()  //輸出:www.helloworld.net

5.2 第二種寫法

//a.js 中定義一個類,最后導出
class Person {
    //類的屬性
    site = "www.helloworld.net"

    //類的方法
    show(){
        console.log(this.site)
    }
}

//導出這個類
export default Person 



//b.js 中導入并使用
//導入類
import Person from './a.js'

//創建類的一個對象person
let person = new Person()

//調用類的方法
person.show()  //輸出:www.helloworld.net

小結

下面我們簡單總結一下 export與export default的區別

export 與 export default 均可用于導出常量、函數、文件、模塊等

可以在其它文件或模塊中通過 import+(常量 | 函數 | 文件 | 模塊) 名的方式,將其導入,以便能夠對其進行使用

export default 后面不能跟 const 或 let 的關鍵詞

export、import 可以有多個,export default 僅有一個。

通過 export 方式導出,在導入時要加 { },export default 則不需要

export 具名導出 xxx ,export default 匿名。區別在于導入的時候,export 需要一樣的名稱才能匹配,后者無論取什么名都可以。

模塊化管理中一個文件就是一個模塊,export 可以導出多個方法和變量,export default 只能導出當前模塊,一個 js 文件中只支持出現一個

對于import,export,export default,他們的用法上面的例子已經很詳細的列出了,忘記的時候,可以當作參考看看 最重要的還是要明白為什么要這么寫,實在不明白記住就行了。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • javascript
    +關注

    關注

    0

    文章

    525

    瀏覽量

    54288

原文標題:徹底弄懂Javascript模塊導入導出

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問怎么導入導出AD規則?

    如何導入導出AD規則?
    發表于 03-01 07:35

    INSTRUMENTS導出導入跟蹤數據

    INSTRUMENTS調試工具的使用(三十二) —— 高級任務之導出導入跟蹤數據(一)
    發表于 08-30 09:18

    Altium規則的導入導出

    在pcb設計的時候,有時候兩個板子,甚至多個板類型相同,這時候,對其中一個已設置好的規則進行挪用;能夠節省我們不少的時間與精力。下面就來和大家講解下在AD軟件中怎樣對規則進行導出導入:一.規則的導出:1.選擇菜單Design→
    發表于 09-03 17:15

    STM32CubeIDE如何導入/導出多核項目?

    大家好,我在 CubeIDE 中有一個雙核微控制器 (STM32H755) 的項目,結構如下。我正在嘗試通過導入/導出功能將其導出導入到另一個 CubeIDE,但我永遠無法正確
    發表于 12-13 08:23

    Citect標簽導入導出資料

    本章就Citect標簽導入導出,其實包含變量標簽、局部變量、趨勢標簽、報警定義等都可以使用該方法來實現快速定義和修改
    發表于 05-10 17:25 ?0次下載
    Citect標簽<b class='flag-5'>導入</b><b class='flag-5'>導出</b>資料

    PCB設計:如何導入導出設計規則

    介紹如何在Altium Designer中導入導出設計規則,借鑒其他設計的優秀合理的規則設置(寶貴的設計經驗)為我所用,而不需要自己手動創建。
    發表于 06-05 07:17 ?9857次閱讀
    PCB設計:如何<b class='flag-5'>導入</b><b class='flag-5'>導出</b>設計規則

    XMC MCU 開發基礎:DAVE3項目導入導出

    DAVE3 項目導入導出
    的頭像 發表于 07-11 02:12 ?4091次閱讀

    PCB技術:Altium怎么安裝導入導出插件

    EDA軟件中Altium Designer的兼容性是最好的,在其他EDA平臺設計的原理圖、PCB等文件,有時候會統一到Altium Designer平臺,或者將在Altium Designer平臺設計的文件導入其他平臺,這種時候需要用到導入
    的頭像 發表于 10-14 10:36 ?6831次閱讀
    PCB技術:Altium怎么安裝<b class='flag-5'>導入</b><b class='flag-5'>導出</b>插件

    MACSV數據庫導出導入的方法

    MACSV數據庫導出導入的方法(現代電源技術期末考試)-文檔為MACSV數據庫導出導入的方法詳解文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,
    發表于 09-17 15:41 ?2次下載
    MACSV數據庫<b class='flag-5'>導出</b>、<b class='flag-5'>導入</b>的方法

    如何寫一個公用工具來進行Excel的導入導出

    日常在做后臺系統的時候會很頻繁的遇到Excel導入導出的問題,正好這次在做一個后臺系統,就想著寫一個公用工具來進行Excel的導入導出
    的頭像 發表于 10-09 14:19 ?1629次閱讀

    百萬數據的導入導出解決方案

    前景 1 傳統POI的的版本優缺點比較 2 使用方式哪種看情況 3 百萬數據導入導出(正菜) 4 總結 前景 在項目開發中往往需要使用到數據的導入導出
    的頭像 發表于 10-11 17:19 ?1527次閱讀

    如何導入導出SCL源文件?

    如何導入導出SCL源文件?
    的頭像 發表于 01-16 10:41 ?2403次閱讀

    TIA Portal Openness導入/導出的基本原理

    可以導出某些組態數據,然后在編輯之后再將數據重新導入同一項目或不同項目中。
    的頭像 發表于 06-21 11:48 ?4224次閱讀
    TIA Portal Openness<b class='flag-5'>導入</b>/<b class='flag-5'>導出</b>的基本原理

    import模塊導入方法

    import 語句的基本語法格式如下: import 模塊名 # 導入一個模塊 import 模塊1,模塊2… #
    的頭像 發表于 09-11 17:31 ?1485次閱讀

    博圖的導入/導出設置介紹

    TIA Portal 設置可導出為一個文件。在導入這些設置時,將同時應用這些設置。通過該功能,可將設置發送給其他用戶。與此類似,可統一設定系統設置,為多個工程組態 PC 設置統一的操作環境。
    的頭像 發表于 11-27 11:45 ?7642次閱讀
    博圖的<b class='flag-5'>導入</b>/<b class='flag-5'>導出</b>設置介紹
    主站蜘蛛池模板: 亚洲欧美成人综合久久久 | 特黄免费| 黄色在线播放视频 | 色欧美在线 | 精品玖玖| 天堂在线资源最新版 | 精品免费久久久久久成人影院 | 午夜小片 | 欧美日韩国产在线一区 | 欧美3p精品三区 | 成熟女性毛茸茸xx免费视频 | 亚洲欧美视频一区二区三区 | 美女扒开内裤让男人桶 | 久久综合九色综合97婷婷群聊 | 高h文男主又粗又狠 | www淫| 91av视频 | 国产色婷婷精品免费视频 | 久久夜色精品国产噜噜 | 欧美国产日本高清不卡 | 狠狠操狠狠操 | 国产福利免费观看 | 激情六月网 | 国产三级黄色毛片 | 国内外精品免费视频 | 69xxxx女人 | 夜夜骑首页 | 黄色拍拍拍 | 欧美影院一区二区三区 | 日日摸人人拍人人澡 | 男人午夜网站 | 久久的色偷偷 | 午夜影视啪啪免费体验区入口 | 免费抓胸吻胸激烈视频网站 | 美女黄网站人色视频免费国产 | 亚洲激情a | 天天做天天爱天天操 | 免费a级午夜绝情美女视频 免费jlzzjlzz在线播放视频 | 国产精品福利久久 | 狠狠色噜狠狠狠狠色综合久 | 亚洲人成网站色7799在线播放 |