cocos creator v2.4.3 如何修改 main.js

原生平台: ios 、android

各位大神好
请问要如何在main.js 档
if (window.jsb) {
var isRuntime = (typeof loadRuntime === ‘function’);
if (isRuntime) {
require(‘src/settings.js’);
require(‘src/cocos2d-runtime.js’);
if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) {
require(‘src/physics.js’);
}
require(‘jsb-adapter/engine/index.js’);
}
else {
require(‘src/settings.js’);
require(‘src/cocos2d-jsb.js’);
if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) {
require(‘src/physics.js’);
}
require(‘jsb-adapter/jsb-engine.js’);
}

cc.macro.CLEANUP_IMAGE_CACHE = true;
window.boot();

}

在 require(‘src/settings.js’); 的地方想改成是从伺服器上下载 settings.js 并且require(‘settings.js’);
而不是require 本地的settings.js
想请问是否有人做过,并且希望大神分享

会这样做是因为专案比较大,小游戏有20多个,未来还会增加,但在v2.4.3 上建构下去会等很久
所以规划是更新其中一个小游戏时,会把需要用到的档案复制出来建构以节省时间
目前v2.4.3 最主要的地方是settings.js 里的 “remoteBundles”
如果cc.assetManager.loadBundle(‘GameA’) ,GameA不再 remoteBundles 里,会出现
[WARN]: Read file failed: path: assets/GameA/config.json
但只要把GameA 塞进 remoteBundles 列表里就可以下载了

想请问有没有大神尝试过可以帮助我,感谢

creator不是支持自己写插件的形式 可以监听到构建开始、构建后这些状态,
写个小插件读取要改的文件 用字符串匹配然后改
我是这样在构建后改的main和cocosjs这两个文件

1赞

看看这里
https://docs.cocos.com/creator/manual/zh/publish/custom-project-build-template.html

1赞

谢谢,已完成了

感谢你,已完成了

另外想请问 main.js 里的一段程式码
cc.assetManager.init({
bundleVers: settings.bundleVers,
remoteBundles: settings.remoteBundles,
server: settings.server
});

请问这个remoteBundles 是怎么处理的
看了api 没看到怎么处理的

/**
* !#en
* Initialize assetManager with options
*
* !#zh
* 初始化资源管理器
*
* @method init
* @param {Object} options
*
* @typescript
* init(options: Record<string, any>): void
*/
init (options) {
options = options || Object.create(null);
this._files.clear();
this._parsed.clear();
this._releaseManager.init();
this.assets.clear();
this.bundles.clear();
this.packManager.init();
this.downloader.init(options.bundleVers, options.server);
this.parser.init();
this.dependUtil.init();
this.generalImportBase = options.importBase;
this.generalNativeBase = options.nativeBase;
},

1赞