//aardio 通过 Node.js 调用 UglifyJS 包 import console; import nodeJs; //如果未安装 uglify-js 则安装 nodeJs.require("uglify-js"); // 启动 Node.js 。 var node = nodeJs.startRpc('global.UglifyJS = require("uglify-js")'); // 压缩选项 var options = { ie: true, mangle: true, output:{ indent_level: 0, max_line_len: 1000, beautify: false, } }; // 直接调用 JS 函数,必须是全局对象 global 的成员对象。 var ret = node.UglifyJS.minify({ "file1.js": "function add(first, second) { return first + second; }", "file2.js": "console.log(add(1 + 2, 3 + 4));" },options); /* 请参考文档: https://github.com/mishoo/UglifyJS?tab=readme-ov-file#api-reference aardio 兼容 JS 表示对象的语法,aardio 参数选项会通过 JSON 传给 Node.js 所以 UglifyJS 文档的代码可以复制到 aardio 里用,基本不需要太多修改。 */ var ret = node.UglifyJS.minify( inet.http.get("https://cdn.jsdelivr.net/npm/js-yaml@3.14.1/dist/js-yaml.js"), options ) // 获取 JS 函数返回值 var minJs = ret[["result"]][["code"]]; //复制压缩结果到剪贴板 import win.clip; win.clip.write(minJs); console.dump(minJs); console.pause();