ES6module的使用示例-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)ES6 module的使用示例,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的米脂網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

這是一份備忘單,展示了不同的導(dǎo)出方式和相應(yīng)的導(dǎo)入方式。 它實(shí)際上可分為3種類(lèi)型:名稱(chēng),默認(rèn)值和列表 。

// 命名導(dǎo)入/導(dǎo)出 
export const name = 'value'
import { name } from '...'

// 默認(rèn)導(dǎo)出/導(dǎo)入
export default 'value'
import anyName from '...'

// 重命名導(dǎo)入/導(dǎo)出 
export { name as newName }
import { newName } from '...'

// 命名 + 默認(rèn) | Import All
export const name = 'value'
export default 'value'
import * as anyName from '...'

// 導(dǎo)出列表 + 重命名
export {
  name1,
  name2 as newName2
}
import {
  name1 as newName1,
  newName2
} from '...'

接下來(lái),我們來(lái)一個(gè)一個(gè)的看??

命名方式

這里的關(guān)鍵是要有一個(gè)name。

export const name = 'value';
import { name } from 'some-path/file';

console.log(name); // 'value'

默認(rèn)方式

使用默認(rèn)導(dǎo)出,不需要任何名稱(chēng),所以我們可以隨便命名它

export default 'value'
import anyName from 'some-path/file'

console.log(anyName) // 'value'

默認(rèn)方式不用變量名

export default const name = 'value';  
// 不要試圖給我起個(gè)名字!

命名方式 和  默認(rèn)方式 一起使用

命名方式 和  默認(rèn)方式 可以同個(gè)文件中一起使用??

eport const name = 'value'
eport default 'value'
import anyName, { name } from 'some-path/file'

導(dǎo)出列表

第三種方式是導(dǎo)出列表(多個(gè))

const name1 = 'value1'
const name2 = 'value2'

export {
  name1,
  name2
}
import {name1, name2 } from 'some-path/file'

console.log(
  name1,  // 'value1' 
  name2,  // 'value2' 
)

需要注意的重要一點(diǎn)是,這些列表不是對(duì)象。它看起來(lái)像對(duì)象,但事實(shí)并非如此。我第一次學(xué)習(xí)模塊時(shí),我也產(chǎn)生了這種困惑。真相是它不是一個(gè)對(duì)象,它是一個(gè)導(dǎo)出列表

// Export list ≠ Object
export {
  name: 'name'
}

重命名的導(dǎo)出

對(duì)導(dǎo)出名稱(chēng)不滿(mǎn)意?問(wèn)題不大,可以使用as關(guān)鍵字將其重命名。

const name = 'value'

export {
  name as newName
}
import { newName } from 'some-path/file'

console.log(newName); // 'value'

// 原始名稱(chēng)不可訪問(wèn)
console.log(name); // ? undefined

不能將內(nèi)聯(lián)導(dǎo)出與導(dǎo)出列表一起使用

export const name = 'value'

// 你已經(jīng)在導(dǎo)出 name ,請(qǐng)勿再導(dǎo)出我
export {
  name
}

重命名導(dǎo)入

同樣的規(guī)則也適用于導(dǎo)入,我們可以使用as關(guān)鍵字重命名它。

const name1 = 'value1'
const name2 = 'value2'

export {
  name1,
  name2 as newName2
}

ES6 module的使用示例

導(dǎo)入全部

export const name = 'value'

export default 'defaultValue'
import * as anyName from 'some-path/file'

console.log(anyName.name); // 'value'
console.log(anyName.default); // 'defaultValue'

命名方式 vs 默認(rèn)方式

是否應(yīng)該使用默認(rèn)導(dǎo)出一直存在很多爭(zhēng)論。 查看這2篇文章。

  • Why I've stopped exporting defaults from my JavaScript modules

  • GitLab RFC by Thomas Randolph

就像任何事情一樣,答案沒(méi)有對(duì)錯(cuò)之分。正確的方式永遠(yuǎn)是對(duì)你和你的團(tuán)隊(duì)好的方式。

關(guān)于“ES6 module的使用示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

分享標(biāo)題:ES6module的使用示例-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article10/csjddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、全網(wǎng)營(yíng)銷(xiāo)推廣外貿(mào)建站、網(wǎng)站策劃、靜態(tài)網(wǎng)站、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司