Closed libra1010 closed 7 months ago
引入了 rollup-plugin-terser 插件 以及自己编写了 对应的插件 均无法实现代码混淆功能,是否和某个插件有冲突?
export function terserTsPlugin(): Plugin { return { name: 'terserTsPlugin', // 插件名称 async transform(code, id) { if (id.endsWith('.ts') || id.endsWith('.tsx')) { const result = ts.transpileModule(code, { compilerOptions: { target: ts.ScriptTarget.ES2015, // 设置目标为ES2015以便Terser能够正确地处理代码 module: ts.ModuleKind.ESNext, // 设置模块类型为ESNext jsx: ts.JsxEmit.React, // 如果有TSX文件,需要指定对应的选项 strict: false, // 根据您的项目需求启用不同的strict选项 }, });
const minified = await minify(result.outputText, { mangle: { properties: { keep_quoted: true, }, }, }); if (minified.error) { console.error('Terser error:', minified.error); return code; } return minified.code; } }, }
}
引入 rollup-plugin-terser 执行 pnpm build
No response
目前很忙 只解决确定性bug 请自行研究
描述问题 (Describe the problem)
引入了 rollup-plugin-terser 插件 以及自己编写了 对应的插件 均无法实现代码混淆功能,是否和某个插件有冲突?
export function terserTsPlugin(): Plugin { return { name: 'terserTsPlugin', // 插件名称 async transform(code, id) { if (id.endsWith('.ts') || id.endsWith('.tsx')) { const result = ts.transpileModule(code, { compilerOptions: { target: ts.ScriptTarget.ES2015, // 设置目标为ES2015以便Terser能够正确地处理代码 module: ts.ModuleKind.ESNext, // 设置模块类型为ESNext jsx: ts.JsxEmit.React, // 如果有TSX文件,需要指定对应的选项 strict: false, // 根据您的项目需求启用不同的strict选项 }, });
}
如何复现该问题 (How to reproduce the problem)
引入 rollup-plugin-terser 执行 pnpm build
操作系统和浏览器信息 (Operating system and browser information)
No response
验证 (Verify)