application.js 无法定制???

版本 1.2.0
因为需要定制loading界面。所以在build-templates 文件夹里面吧index.html 定制了一下。但是,application.js 定制无效。 每次都需要去手动改一下,是只有我有这个问题吗?

application.js有个比较蛋疼的问题。

function loadSettingsJson(cc) {
      return new Promise(function (resolve, reject) {
        cc.loader.load('./res/settings.e0839.json', function (err, json) {
          if (err) {
            return reject(err);
          }

          window._CCSettings = json;
          resolve(json);
        });
      });
    }

如上一段代码,他读取了settings.xxxx.json文件,这个文件的名字是可变的,如果项目发生了变动,这个文件名字也会变。所以定制完后你定制的application.js里的文件名字就不一定对了。这个确实很蛋疼

2d的话 是没有这个问题的。2d的话,你可以’./res/settings.e0839.json’, 变成 settings.json,然后构建的时候,会自动吧.e0839 加上。 3d居然不支持。

D:\CocosDashboard_1.0.8\resources.editors\Creator3D\1.2.0\resources\app.asar.unpacked\builtin\builder\static\build-templates\application.ejs
可以修改这个路径下的模板js

application.js 不会开放定制,settings.json 会以别的形式开发定制。

如果构建时勾选了MD5缓存,你这个build-templates\application.js里引用的settings.json实际上无法动态指向新的settings.json呀

请问这个问题,有好的解决方案么

大佬,这个问题解决了吗?

也想问。现在加载界面。无法自定义,蛋疼

我们可以在 3.4 上支持 application.ejs 的构建模板,当前版本估计需要自己处理一下 settings 的后缀名更改。使用构建插件,在 onAfterBuild 钩子里,result.paths.settings 记录的路径是带上 md5 的。可以先自行替换一下。

result.paths 里style.css md5文件路径没找到?

result.paths 里目前只记录了一些全平台通用的文件路径,没有包含这个路径,需要这个路径的原因是?

项目需要自定义html模板(2.x时代js,css都比较好处理 a.js->a.[md5].js;style.css->style.[md5].css)。目前3.x js路径已经通过编译插件替换解决了。但是发现自定义样式style.css 或者index.css,result.path里边没有关于css文件的路径输出。
现在只能自己写nodejs去遍历编译后的目录进行字符串注入…

自定义模板用的 ejs 里面不是原本就放置了 css 样式的变量吗?包括 js 也是不需要自己去查找路径替换

image

<%= cssUrl %>可以,估计是之前修改的时候不小心去掉了。

你好,论坛发布的 3.4 测试版本已经包含这个功能,可以看下是否符合需求。Cocos Creator v3.4.0 社区测试版发布

请问这个现在3.7.2还是不支持 吗,包括settings.json带md5的这个也还没支持吗

老师您好请问该怎么替换这个路径,能大概给个思路吗 @Yuan2333

可以写一个构建脚本跑一下。大概思路就是,先弄个模版的application.js,把里面的md5全部去掉,构建完毕以后,通过node去读构建出来以后的文件名,然后去替换一下相对应的名字就可以了。

我的意思是构建出来的application.js名字上有md5值,我怎么修改它里面的this.settingsPath = 'src/settings.json’这个值让他带上md5