成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - es6模塊加載export的輸出值有點(diǎn)沒太搞明白

瀏覽:115日期:2023-03-12 08:38:54

問題描述

javascript - es6模塊加載export的輸出值有點(diǎn)沒太搞明白這樣為什么會(huì)報(bào)錯(cuò)呢

javascript - es6模塊加載export的輸出值有點(diǎn)沒太搞明白為什么這樣就可以呢? 那個(gè)大括號(hào)的作用是什么 是語法就這樣嗎

問題解答

回答1:

在es6標(biāo)準(zhǔn)沒出來之前,export啥,require就是啥。

以nodejs為例

// ./fk.jsexport ’fk’;// ./main.jsvar fk = require(’./fk’);console.log(fk); // output 'fk'

你看,這一點(diǎn)都不“模塊化”,既然是模塊導(dǎo)入進(jìn)來就應(yīng)該要有數(shù)值,有函數(shù),有車有驢有火鍋才行嘛。

那怎么辦呢?標(biāo)注規(guī)定,導(dǎo)出的所有內(nèi)容必須都有“名字”,你起個(gè)別名也可以,反正要有名字!

第一種起名字的方法

export var/let/const 名字=值

第二種起名字的方法

var/let/const 變量=值export {變量} 或 export {變量 as 別名}

第三種起名字的方法

export default 值

第一張圖里的第二個(gè)方法之所以報(bào)錯(cuò),是因?yàn)槟悴挥么罄ㄌ?hào)括起來,在編譯的時(shí)候m早就不知道叫什么了,不知道叫什么就沒有名字,起不了名字就不能導(dǎo)出。

完。

回答2:

看文檔 export on MDN

一共就這么幾種形式

export { name1, name2, …, nameN };export { variable1 as name1, variable2 as name2, …, nameN };export let name1, name2, …, nameN; // also varexport let name1 = …, name2 = …, …, nameN; // also var, constexport default expression;export default function (…) { … } // also class, function*export default function name1(…) { … } // also class, function*export { name1 as default, … };export * from …;export { name1, name2, …, nameN } from …;export { import1 as name1, import2 as name2, …, nameN } from …;

你寫的兩種形式都不包含在內(nèi)……具體每種形式是什么意思,還是看文檔去吧!

回答3:

https://developer.mozilla.org...

這種問題直接閱讀文檔就行了。而且你這個(gè)圖不是從阮一峰的文章里扒過來的?原文就有清晰的說明

需要特別注意的是,export命令規(guī)定的是對(duì)外的接口,必須與模塊內(nèi)部的變量建立一一對(duì)應(yīng)關(guān)系。

上面兩種寫法都會(huì)報(bào)錯(cuò),因?yàn)闆]有提供對(duì)外的接口。第一種寫法直接輸出1,第二種寫法通過變量m,還是直接輸出1。1只是一個(gè)值,不是接口。

標(biāo)簽: JavaScript
相關(guān)文章: