ES6模块化中,export支持直接在声明前导出或用export{...}批量导出具名变量,需用大括号导入且名称严格匹配,可重命名,不支持语句式赋值导出。

在 ES6 模块化中,使用 export 导出多个具名变量非常常见,适用于工具函数、配置常量、通用类等场景。核心是确保每个导出项有明确名称,且导入时能按名引用。
直接在声明前加 export
可以在变量、函数或类定义语句前直接写 export,一次一个,支持多次:
// utils.js
export const API_BASE = 'https://api.example.com';
export const TIMEOUT = 5000;
export function formatDate(date) {
return new Date(date).toISOString().split('T')[0];
}
export class Validator {
static isEmail(str) {
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(str);
}
}这样写清晰直观,适合少量、逻辑分散的导出项。
统一用 export { ... } 批量导出
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
先定义所有内容,再集中导出,更利于组织和维护:
// config.js
const ENV = 'production';
const DEBUG = false;
const MAX_RETRY = 3;
export { ENV, DEBUG, MAX_RETRY };也可以在导出时重命名,避免命名冲突或提升语义:
const version = '2.1.0';
const author = 'Alice';
export { version as appVersion, author as createdBy };注意事项
- 具名导出必须带大括号
{}导入,名称需严格匹配(除非用as重命名) - 同一模块可混合使用具名导出和
export default - 不支持
export let x = 1;这样的语句式赋值导出(let/const/var声明需完整)
导入示例:
import { API_BASE, formatDate, Validator } from './utils.js';
import { appVersion, createdBy } from './config.js';不复杂但容易忽略

















