随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

【转】[JavaScript] import 和 export 的用法

转自:kimi.ai

在 JavaScript 中,importexport 是 ES6(ECMAScript 2015)引入的模块化语法,用于在不同的文件或模块之间共享代码。它们使得代码更加模块化、可维护,并且可以避免全局变量的污染。以下是 importexport 的基本用法和一些常见场景。

1. export 的用法

export 用于将模块中的变量、函数或类导出,以便在其他模块中使用。

默认导出(Default Export)

每个模块只能有一个默认导出,通常用于导出模块的主要功能。
JavaScript复制
// myModule.js
const myFunction = () => {
  console.log("Hello, World!");
};

export default myFunction;

命名导出(Named Export)

可以导出多个命名的变量、函数或类。每个命名导出都有一个唯一的标识符。
JavaScript复制
// myModule.js
export const name = "Kimi";
export const age = 25;

function greet() {
  console.log("Hello, I am Kimi.");
}

export { greet };

混合使用默认导出和命名导出

JavaScript复制
// myModule.js
export const name = "Kimi";
export const age = 25;

const myFunction = () => {
  console.log("Hello, World!");
};

export default myFunction;

2. import 的用法

import 用于导入其他模块中导出的内容。

导入默认导出(Default Import)

JavaScript复制
// main.js
import myFunction from "./myModule.js";

myFunction(); // 输出: Hello, World!

导入命名导出(Named Import)

JavaScript复制
// main.js
import { name, age, greet } from "./myModule.js";

console.log(name); // 输出: Kimi
console.log(age);  // 输出: 25
greet();           // 输出: Hello, I am Kimi.

导入所有命名导出(Namespace Import)

如果需要导入模块中的所有命名导出,可以使用命名空间方式:
JavaScript复制
// main.js
import * as myModule from "./myModule.js";

console.log(myModule.name); // 输出: Kimi
console.log(myModule.age);  // 输出: 25
myModule.greet();           // 输出: Hello, I am Kimi.

同时导入默认导出和命名导出

JavaScript复制
// main.js
import myFunction, { name, age } from "./myModule.js";

myFunction(); // 输出: Hello, World!
console.log(name); // 输出: Kimi
console.log(age);  // 输出: 25

3. 重命名导入/导出

有时可能需要重命名导入或导出的内容,以避免命名冲突或更清晰地表达意图。

导入时重命名

JavaScript复制
// main.js
import { name as myName, age as myAge } from "./myModule.js";

console.log(myName); // 输出: Kimi
console.log(myAge);  // 输出: 25

导出时重命名

JavaScript复制
// myModule.js
const myName = "Kimi";
const myAge = 25;

export { myName as name, myAge as age };

4. 动态导入(Dynamic Import)

动态导入允许在运行时动态加载模块,通常用于按需加载代码,以优化性能。
JavaScript复制
// main.js
async function loadModule() {
  const myModule = await import("./myModule.js");
  myModule.myFunction();
}

loadModule(); // 动态加载 myModule 并调用 myFunction

5. 注意事项

  • 模块路径:在 import 时,路径需要正确指向模块文件,通常需要包含文件扩展名(如 .js)。
  • 默认导出和命名导出的区别:默认导出需要使用 export default,而命名导出需要使用 exportexport { ... }
  • 模块化工具:在实际项目中,通常会使用构建工具(如 Webpack、Rollup)来处理模块化代码,以便在浏览器中运行。

importexport 是现代 JavaScript 开发中非常重要的特性,它们使得代码更加模块化和可维护。希望这些内容对你有所帮助!
posted on   z5337  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-01-22 [转][VBS]开机启动等
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示