const fs = require('fs'); const path = require('path'); // 因为 js-beautify.js 直接在全局作用域定义 js_beautify, // 我们可以直接使用 require 来引入并获取函数 // 特别注意:js-beautify.js 假设需要 window 或 global 对象 // Node.js 环境下,我们需要将 js_beautify 挂载到全局 let js_beautify; // 读取并执行 js-beautify.js const beautifyPath = path.join(__dirname, 'js-beautify.js'); const beautifyCode = fs.readFileSync(beautifyPath, 'utf-8'); // 创建一个安全的沙箱环境 global.window = global; global.module = undefined; global.exports = undefined; // 执行代码 try { eval(beautifyCode); js_beautify = global.js_beautify; } catch (error) { console.error('加载 js-beautify.js 失败:', error); throw error; } // 清理全局变量 delete global.window; // 如果 js_beautify 没有挂载到 global,尝试从 globalThis 获取 if (!js_beautify && globalThis.js_beautify) { js_beautify = globalThis.js_beautify; } if (!js_beautify) { throw new Error('无法从 js-beautify.js 中找到 js_beautify 函数'); } module.exports = { js_beautify: js_beautify };