微信小程序在解包后,会出现vd_version_info is not defined 的错误提示,这是解包程序和微信小程序版本升级之间的差异造成的,微信小程序的版本升级会对封包解包产生影响,那么问题如何解决呢?
其实解包程序也是基于js开发的,所以解决办法自然就是对准js代码进行修复。
对应的就是如下代码文件
修改wxappUnpacker文件中的 wuWxss.js
function runVM(name, code) {
//这是原来的代码
//let wxAppCode={},handle={cssFile:name};
//let vm=new VM({sandbox:Object.assign(new GwxCfg(),{__wxAppCode__:wxAppCode,setCssToHead:cssRebuild.bind(handle)})});
//vm.run(code);
//for(let name in wxAppCode)if(name.endsWith(".wxss")){
//handle.cssFile=path.resolve(frameName,"..",name);
//wxAppCode[name]();
//}
//一下为新修改的代码:
let wxAppCode = {};
let handle = {cssFile: name};
let gg = new GwxCfg();
let tsandbox = {
$gwx: GwxCfg.prototype["$gwx"],
__mainPageFrameReady__: GwxCfg.prototype["$gwx"], //解决 $gwx is not defined
__vd_version_info__: GwxCfg.prototype["$gwx"], //解决 __vd_version_info__ is not defined
__wxAppCode__: wxAppCode,
setCssToHead: cssRebuild.bind(handle)
}
let vm = new VM({sandbox: tsandbox});
vm.run(code);
for (let name in wxAppCode) {
if (name.endsWith(".wxss")) {
handle.cssFile = path.resolve(frameName, "..", name);
wxAppCode[name]();
}
}
}
经过修复后再次运行解包程序,对微信小程序进行解包,圆满解决,微信小程序正常的还原了出来。
小程序升级后,加了一些功能特性,所以对应的解药也要增加一些变动支持。
网友评论