JavaScript 模块(ECMAScript 6+)提供了多种导出(export)模式,允许你根据不同的需求导出模块的功能。

JavaScript 模块(ECMAScript 6+)提供了多种导出(export)模式,允许你根据不同的需求导出模块的功能。以下是一些常见的导出方式:

1. 命名导出(Named Exports)

命名导出允许你导出多个变量、函数或类,并且需要使用具体的名称来导入它们。

// -- module.js --
export const name = 'John';
export function greet() {
  console.log('Hello!');
}
export class Animal {}

导入时需要使用相同的名称:

// -- app.js --
import { name, greet, Animal } from './module.js';

2. 默认导出(Default Exports)

每个模块只能有一个默认导出,它可以是任意类型(变量、函数、类或对象)。

// -- module.js --
export default function calculate() {
  return 42;
}

导入默认导出时不需要使用大括号:

// -- app.js --
import calculate from './module.js';

3. 重命名导出(Renaming Exports and Imports)

在导出或导入时,你可以使用 as 关键字来重命名变量。

// -- module.js --
export const { name as userName, greet as sayHello } from './greetings.js';

导入时的重命名:

// -- app.js --
import { calculate as performCalculation } from './module.js';

4. 批量导出(Batch Exports)

你可以将多个命名导出一次性导出。

// -- module.js --
export * from './utils.js';

这将导出 ./utils.js 中定义的所有命名导出。

5. 导出默认和命名导出的组合

一个模块可以同时包含默认导出和命名导出。

// -- module.js --
const pi = 3.14;
const circle = (r) => Math.pow(r, 2) * pi;

export default pi;
export { circle };

6. 导出时解构(Export Destructuring)

你可以在导出时直接从其他模块解构并重命名导出的变量。

// -- module.js --
export { name as userName, greet as sayHello } from './greetings.js';

7. 导出时默认和命名的组合

在导出时,你可以将默认导出和命名导出组合在一起。

// -- module.js --
const config = { theme: 'light' };

export default config;
export { config as defaultTheme };

注意事项

  • 确保你使用的是支持 ES6 模块的 JavaScript 环境或工具链。
  • 导入和导出的语法需要匹配,否则会导致错误。
  • 使用 export 关键字时,应该放在变量或函数声明之前。

通过这些不同的导出模式,你可以灵活地组织和重用代码,同时保持清晰的模块结构。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值