代码拉取完成,页面将自动刷新
同步操作将从 ugJava/wxappUnpacker 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const wu=require("./wuLib.js");
const path=require("path");
const UglifyJS=require("uglify-es");
const {js_beautify}=require("js-beautify");
const {VM}=require('vm2');
function jsBeautify(code){
return UglifyJS.minify(code,{mangle:false,compress:false,output:{beautify:true,comments:true}}).code;
}
function splitJs(name,cb){
let dir=path.dirname(name);
wu.get(name,code=>{
let needDelList={};
let vm=new VM({sandbox:{
require(){},
define(name,func){
let code=func.toString();
code=code.slice(code.indexOf("{")+1,code.lastIndexOf("}")-1).trim();
let bcode=code;
if(code.startsWith('"use strict";')||code.startsWith("'use strict';"))code=code.slice(13);
else if((code.startsWith('(function(){"use strict";')||code.startsWith("(function(){'use strict';"))&&code.endsWith("})();"))code=code.slice(25,-5);
let res=jsBeautify(code);
if(typeof res=="undefined"){
console.log("Fail to delete 'use strict' in \""+name+"\".");
res=jsBeautify(bcode);
}
needDelList[path.resolve(dir,name)]=-8;
wu.save(path.resolve(dir,name),jsBeautify(res));
}
}});
vm.run(code.slice(code.indexOf("define(")));
console.log("Splitting \""+name+"\" done.");
if(!needDelList[name])needDelList[name]=8;
cb(needDelList);
});
}
module.exports={jsBeautify:jsBeautify,wxsBeautify:js_beautify,splitJs:splitJs};
if(require.main===module){
wu.commandExecute(splitJs,"Split and beautify weapp js file.\n\n<files...>\n\n<files...> js files to split and beautify.");
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。