版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhenyu5211314/article/details/81871356
重新require JS文件指的是在调用require文件后,在ScriptingCore中重新编译该文件,在编程或者界面制作过程中提升效率,修改文件后只需要重新打开该窗口即可生效。
在(一)中,cocos2dx-js 3.2 版本,需更改底层代码实现重新编译文件 传送门
版本升级到cocos2d-x-3.16,底层增加了clean接口,无需更改底层代码,可以通过手动cleanScript然后在Require
调用:
HelpTool.requireScript("src/pve/SuperStarShop.js", true);
HelpTool中实现:
HelpTool._require_script_map = {};
HelpTool.requireScript = function(path, needReload){
if(HelpTool._require_script_map[path]){
// xiaohei 如果是开发模式每次都重新require文件,在ScriptingCore中重新编译该文件,只有传入needReload为true才能重新加载(有些共享内存不能重新加载)
if((g_targetOS == TargetOS.WINDOWS) && needReload){
__cleanScript(path);
require(path);
}
return;
}else{
require(path);
HelpTool._require_script_map[path] = true;
}
};
同理,自己管理HelpTool._require_script_map,避免重复加载js文件