热更新插件更新啦

232 阅读2分钟

热更插件

这次版本更新没有加入新的功能,对cocos creator v2.4.6进行了兼容适配。

v2.4.6版本,底层改动还是挺大的,导致插件在该版本上,UI都出现了异常。

因为之前有网友反馈问题的时候,会下载旧版本的插件,所以这次在插件的右下角增加了版本号。

插件的文档链接也失效了,这次顺便更新了下:

tidys.gitee.io/doc/#/

心塞的地方

这次的更新,同时也暴露一个插件非常严重的问题。

编辑器的UI和编辑器是一对一的绑定存在,如果编辑器的UI实现细节发生变化,那么编辑器也会跟着适配。

但插件不是,插件是可以跑在任何一个编辑器版本上,编辑器UI的细节调整就导致插件也要跟着适配,非常的被动。

为了尽可能的跑在更多的编辑器版本上,不得不做非常多的兼容和适配。

避免这个问题,只有一个办法:

自己实现一套UI,减少对编辑器的依赖

虽然说这话有点打脸,但是事实就是这样子。

肝不动了,唉,真恶心!

cc-plugin-packer

www.npmjs.com/package/cc-…

这个是我为打包插件专门写的一个npm package,主要就是对代码进行压缩混淆,生成上传所需的zip包。

目前自己用着还算方便,有需要的自取,也欢迎大家pull request

虽然插件的功能非常少,但是对我个人来说,开发完毕插件,还是挺需要的。

早期版本是使用js写的,v1.1.0使用typescript进行了重构,方便后续维护。

使用示例代码:

const Path = require('path');
const { pack } = require('cc-plugin-packer');
pack({
    version: '3.x', // 插件版本:2.x / 3.x
    plugin: Path.join(__dirname, 'test-plugin'),
    // 过滤插件的文件,相对于plugin目录的相对路径
    filterFiles: [
        'README.md',
        'readme.js' // 无效的文件
    ],
    // 不压缩的JS代码
    unMinFiles: [
        'panel/index.js',
        'panel/item.js' // 不存在的文件
    ],
    // 默认的插件打包文件存放位置,默认和插件目录同级
    out: Path.join(__dirname, 'out'),
    // 打包完毕后是否在文件夹中显示 
    show: true,
    // 是否删除临时产生的打包目录
    cleanOut: true,
});

这样就能在out目录生成一个zip包,直接在插件商店后台上传即可。