cocos2d-js 重新require js文件(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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文件

猜你喜欢

转载自blog.csdn.net/zhenyu5211314/article/details/81871356