JavaScript 中的“导出默认值”是什么?
在默认导出中,导入的命名是完全独立的,我们可以使用我们喜欢的任何名称。
我将用一个简单的例子来说明这一行。
假设我们有三个module和一个index.html文件:
- module.js
- module2.js
- module3.js
- 索引.html
文件modul.js
export function hello() {
console.log("Modul: Saying hello!");
}
export let variable = 123;
文件modul2.js
export function hello2() {
console.log("Module2: Saying hello for the second time!");
}
export let variable2 = 456;
module3.js
export default function hello3() {
console.log("Module3: Saying hello for the third time!");
}
文件index.html
<script type="module">
import * as mod from './modul.js';
import {hello2, variable2} from './modul2.js';
import blabla from './modul3.js'; // ! Here is the important stuff - we name the variable for the module as we like
mod.hello();
console.log("Module: " + mod.variable);
hello2();
console.log("Module2: " + variable2);
blabla();
</script>
输出是:
modul.js:2:10 -> Modul: Saying hello!
index.html:7:9 -> Module: 123
modul2.js:2:10 -> Module2: Saying hello for the second time!
index.html:10:9 -> Module2: 456
modul3.js:2:10 -> Module3: Saying hello for the third time!
所以更长的解释是:
如果您想为module导出单个内容,则使用“导出默认值”。
所以重要的是“从'./modul3.js'导入blabla ”——我们可以说:
“从 './modul3.js导入pamelanderson ”,然后pamelanderson();
. 当我们使用 'export default' 时,这将工作得很好,基本上就是这样 -当它是 default 时,它允许我们随意命名它。
PS:如果你想测试示例 - 先创建文件,然后在浏览器中允许CORS -> 如果你使用 Firefox 在浏览器的 URL 中输入:about:config -> 搜索“privacy.file_unique_origin” - > 将其更改为“false” -> 打开 index.html -> 按 F12 打开控制台并查看输出 -> 享受,不要忘记将 CORS 设置恢复为默认值。
PS2:对不起,愚蠢的变量命名
更多信息在link2medium和link2mdn 中。