javascript es modules 中导出多个命名变量有三种方式:一是在声明时用 export 逐个导出;二是先定义再用 export { } 批量导出并支持重命名;三是组合默认导出与命名导出,导入时需按对应语法使用。

在 JavaScript 的 ES Modules 中,导出多个命名变量非常直接,只需用 export 关键字逐个声明,或使用 export { ... } 一次性批量导出。
方式一:在声明时直接导出
每个变量、函数或类定义前加 export,适合边写边导出,清晰直观:
export const PI = 3.14159;
export let count = 0;
export function add(a, b) { return a + b; }
export class Calculator { /* ... */ }
方式二:集中导出(推荐用于整理)
先定义变量,再统一用 export { } 导出,便于维护和重命名:
const PI = 3.14159;
let count = 0;
function add(a, b) { return a + b; }
class Calculator { /* ... */ }
<p>export { PI, count, add, Calculator };</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill3430" title="Alibabacloud Sdk Client Initialization For Java"><img
src="https://img.php.cn/upload/skill/000/000/081/178955835420587.jpg" alt="Alibabacloud Sdk Client Initialization For Java" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill3430" title="Alibabacloud Sdk Client Initialization For Java" class="overflowclass">Alibabacloud Sdk Client Initialization For Java</a>
<p class="overflowclass">在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。</p>
</div>
<a rel="nofollow" href="/xiazai/skill3430" title="Alibabacloud Sdk Client Initialization For Java" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>还可以在导出时重命名,比如:export { add as sum, Calculator as Calc };
方式三:组合默认导出与命名导出
一个模块可以同时有默认导出(export default)和多个命名导出,互不冲突:
export const API_URL = 'https://api.example.com';
export const TIMEOUT = 5000;
<p>export default function init() {
console.log('App started');
}</p>导入时对应使用:import init, { API_URL, TIMEOUT } from './config.js';
注意点
- 命名导出的名称必须与原始声明名一致(除非显式重命名)
- 不能对 let/const 声明的变量在声明语句外再赋值后导出(导出的是绑定,不是快照)
- 重复导出同一名字会报错,例如两次 export const x = 1;
- 不能在条件语句或函数内使用 export(必须是模块顶层语法)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










