javascript模块化导出多个变量主要用命名导出,包括声明时逐个加export、集中export{...}、别名导出及混合默认+命名导出,需注意导入必须用大括号、变量须已声明、不可重名。

JavaScript 模块化开发中导出多个变量,主要用 命名导出(Named Export),这是最常用、最清晰的方式。
直接在声明时逐个导出
每个变量、函数或类前加 export 关键字即可:
export const baseUrl = 'https://api.example.com';
export const timeout = 5000;
export const isDebug = true;
export function formatTime(date) {
return date.toISOString().slice(0, 19);
}
export class ApiClient {
constructor() { /* ... */ }
}这种方式语义明确,便于静态分析和 tree-shaking,推荐在多数场景下使用。
统一导出对象列表
把多个已声明的变量集中到一个 export { ... } 语句中,更利于维护和重命名:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const API_VERSION = 'v2';
const MAX_RETRY = 3;
const DEFAULT_HEADERS = { 'Content-Type': 'application/json' };
<p>export { API_VERSION, MAX_RETRY, DEFAULT_HEADERS };</p>支持别名导出,避免暴露内部变量名:
const internalToken = 'secret-123';
export { internalToken as authToken };混合导出:命名 + 默认
一个模块可以同时有多个命名导出 + 一个默认导出。例如导出工具集合时,把最常用的那个设为默认:
export const add = (a, b) => a + b;
export const multiply = (a, b) => a * b;
<p>export default function calculate(a, b, op) {
return op === 'add' ? add(a, b) : multiply(a, b);
}</p>这样导入时可灵活选择:
import calc, { add, multiply } from './math.js'; // 默认 + 命名
// 或只导入需要的
import { add } from './math.js';注意事项
- 命名导出必须使用原名导入,不能省略大括号:
import { add } from './math.js'✅,import add from './math.js'❌(除非是默认导出) - 导出的变量必须有声明(
const/let/var),不能直接写export 'hello' - 不支持重复导出同名变量,会报语法错误
- 浏览器和 Node.js(v14+)原生支持,无需转译
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










