javascript中用export导出配置文件需用es模块语法,支持默认导出对象或命名导出常量;须确保文件为模块、路径带扩展名、无副作用,并可结合环境变量做轻量适配。

在 JavaScript 中,用 export 导出常量配置文件,核心是把配置对象或多个常量通过模块语法暴露出去,供其他文件用 import 引入。关键是使用 ES 模块(ESM)语法,且文件后缀通常为 .js(或 .mjs),并在支持模块的环境(如现代浏览器、Node.js 14+ 启用 "type": "module")中运行。
导出单个默认配置对象
适合集中管理所有配置项,结构清晰,引入时可自定义变量名:
// config.js
export default {
API_BASE_URL: 'https://api.example.com',
TIMEOUT: 5000,
ENV: 'production',
FEATURES: {
darkMode: true,
analytics: false
}
};
引入方式:
import config from './config.js'; console.log(config.API_BASE_URL); // https://api.example.com
导出多个命名常量(推荐用于类型安全和按需导入)
更灵活,支持只导入需要的配置项,也便于 TypeScript 推导类型:
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
// config.js
export const API_BASE_URL = 'https://api.example.com';
export const TIMEOUT = 5000;
export const ENV = 'production';
export const FEATURES = {
darkMode: true,
analytics: false
};
// 也可批量导出
export { API_BASE_URL, TIMEOUT, ENV, FEATURES };
引入方式(按需):
import { API_BASE_URL, FEATURES } from './config.js';
import { TIMEOUT as REQUEST_TIMEOUT } from './config.js'; // 可重命名
注意事项和常见问题
-
文件必须是模块:确保脚本以
type="module"加载(HTML 中),或 Node.js 的package.json包含"type": "module";否则会报Unexpected token 'export'错误。 -
路径要带扩展名:ESM 要求
import路径显式写出后缀(如./config.js),不能省略(./config会报错)。 -
不能在非模块脚本中混用:如果项目用 CommonJS(
require),需统一转为 ESM,或借助构建工具(如 Vite、Webpack)自动处理。 -
配置不应包含副作用:导出内容应是纯静态值,避免在导出语句中执行异步操作或依赖运行时环境(如
window)——这些逻辑应放在使用方或初始化函数里。
进阶:导出带环境判断的配置(简单运行时适配)
若需根据环境切换配置,可在导出前做轻量判断(注意仍保持同步):
// config.js const isDev = typeof process !== 'undefined' ? process.env.NODE_ENV === 'development' : location.hostname === 'localhost'; export const API_BASE_URL = isDev ? 'http://localhost:3000/api' : 'https://api.example.com'; export const DEBUG = isDev;
不复杂但容易忽略细节,按规范写好 export,配合 import 就能稳定复用配置。










