You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用javascript-obfuscator浏览器版时require/obfuscate未定义问题求助

解决浏览器环境下javascript-obfuscator调用错误问题

错误原因分析

  • 第一种写法报错require() is not defined:require()是Node.js专属的模块导入语法,浏览器环境本身不支持这个方法,所以不能用这种方式引入库。
  • 第二种写法报错obfuscate() is not defined:通过CDN加载index.browser.js后,库会将API挂载到全局的JavaScriptObfuscator对象上,并非直接暴露obfuscate全局函数,所以直接调用会找不到方法。

正确的浏览器端调用代码

<script src="https://cdn.jsdelivr.net/npm/javascript-obfuscator/dist/index.browser.js"></script>
<script>
var obfuscationResult = JavaScriptObfuscator.obfuscate(
    `
       function hi() {
           console.log("Hello World!");
       }
       hi();
    `,
    {
        compact: false,
        controlFlowFlattening: true,
        controlFlowFlatteningThreshold: 1,
        numbersToExpressions: true,
        simplify: true,
        stringArrayShuffle: true,
        splitStrings: true,
        stringArrayThreshold: 1
    }
);

console.log(obfuscationResult.getObfuscatedCode());
</script>

补充说明

Node.js环境才需要用require('javascript-obfuscator')导入库;浏览器环境下直接通过全局的JavaScriptObfuscator对象访问API即可。

内容的提问来源于stack exchange,提问作者Genisys Mythic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:36:31