如何在Bun Build中禁用类重命名,保留原始类名?
解决Bun打包时类名被自动添加后缀的问题
CLI配置方案(优先推荐)
通过Bun构建命令的参数直接阻止标识符重命名:
- 精准禁用标识符混淆:只关闭类名、变量名的重命名,保留其他压缩优化:
bun build your-entry-file.ts --outfile=output.js --minify-identifiers=false - 完全禁用压缩:如果不需要任何代码压缩,直接关闭所有minify操作:
bun build your-entry-file.ts --outfile=output.js --no-minify
代码修改方案
如果不想调整构建参数,可通过代码让Bun保留原始类名:
- 给保留函数添加不混淆注释
为你的__KEEP__函数添加/* @__NO_MANGLE__ */注释,告知Bun不要混淆该函数及其引用的对象:/* @__NO_MANGLE__ */ const __KEEP__ = (fn: any) => fn; import { API } from './API'; __KEEP__(API); - 显式导出目标类
在入口文件中直接导出所有需要保留名称的类,让Bun识别它们是对外暴露的成员:import { API } from './API'; import { Auth } from './Auth'; // 导入其他需要保留的类... export { API, Auth }; - 挂载到全局对象
将类挂载到globalThis(通用环境)或window(浏览器环境),让Bun感知到类被外部使用:import { API } from './API'; (globalThis as any).API = API;
内容的提问来源于stack exchange,提问作者Leander Hass
相关产品推荐
相关产品推荐

