如何让esbuild导出默认模块而非IIFE格式?
解决esbuild打包后输出
export default格式的方法 方法1:修改入口文件的导出逻辑
直接在src/i18n/en.ts里将导出方式改为export default:
// 替换原有导出代码 const i18nContent = { // 你的翻译内容 }; export default i18nContent;
执行原打包命令后,esbuild会保留这个默认导出结构,生成的文件可直接被浏览器动态导入识别。
方法2:通过esbuild参数强制指定模块格式
无需修改源代码,给命令添加--format=esm参数,强制输出ES模块格式:
"esbuild": "esbuild src/i18n/en.ts --bundle --format=esm --outfile=dist/i18n/en.js"
该参数会让打包后的文件严格遵循ES模块规范,确保export default语句被正确保留,适配浏览器的import()动态导入语法。
验证结果
打包完成后查看dist/i18n/en.js,文件末尾应包含类似如下代码:
export default [你的导出内容];
内容的提问来源于stack exchange,提问作者SuperUberDuper
相关产品推荐
相关产品推荐

