【bug反馈】Creator3.x插件系统中一个能制造Bug的Bug

creator3.x 插件系统存在一个问题:
升级插件后插件内 require 的脚本对象还是旧版的缓存
此问题在扩展面板的脚本复现,场景脚本也可能存在此问题

案例

插件升级前index.js文件;

// 旧版插件内 require 
let tools = require('../tools.js')
// 导入对象内容 tools = {clone:xxx}

插件升级后index.js文件;

// 升级插件后 tools 脚本已经被修改成:
// tools = {initI18t:xxx,clone:xxx}
let tools = require('../tools.js')
// 实际上导入还是旧版插件缓存的对象 tools = {clone:xxx}

这问题会导致刚升级完的插件出现莫名其妙的问题
目前解决方法只能是检测插件是否被升级过,然后初始化时删除 require 的缓存

 delete require.cache['xxx/tools.js']  ;