// ---- 扩展注入热更新脚本开始 ---- jsb.fileUtils.addSearchPath(jsb.fileUtils.getWritablePath() + "oops_framework_remote", true); var fileList = []; var storagePath = "oops_framework_remote"; var tempPath = storagePath + "_temp/"; var baseOffset = tempPath.length; if (jsb.fileUtils.isDirectoryExist(tempPath) && !jsb.fileUtils.isFileExist(tempPath + 'project.manifest.temp')) { jsb.fileUtils.listFilesRecursively(tempPath, fileList); fileList.forEach(srcPath => { var relativePath = srcPath.substr(baseOffset); var dstPath = storagePath + relativePath; if (srcPath[srcPath.length - 1] === "/") { jsb.fileUtils.createDirectory(dstPath) } else { if (jsb.fileUtils.isFileExist(dstPath)) { jsb.fileUtils.removeFile(dstPath) } jsb.fileUtils.renameFile(srcPath, dstPath); } }) jsb.fileUtils.removeDirectory(tempPath); } // ---- 扩展注入热更新脚本结束 ---- // SystemJS support. window.self = window; require("src/system.bundle.js"); const importMapJson = jsb.fileUtils.getStringFromFile("src/import-map.json"); const importMap = JSON.parse(importMapJson); System.warmup({ importMap, importMapUrl: 'src/import-map.json', defaultHandler: (urlNoSchema) => { require(urlNoSchema.startsWith('/') ? urlNoSchema.substr(1) : urlNoSchema); }, }); System.import('./application.js') .then(({ Application }) => { return new Application(); }).then((application) => { return System.import('cc').then((cc) => { require('jsb-adapter/engine-adapter.js'); return application.init(cc); }).then(() => { return application.start(); }); }).catch((err) => { console.error(err.toString() + ', stack: ' + err.stack); });