请教个关于组件脚本丢失的问题

有时候莫名其妙的提示:Script “xxxx” attached to “xxx” is missing,我以为是脚本有错,打开找了老半天,没毛病。 怀疑是不是有什么东西循环引用导致的,但是很神奇的是,我把出错的类改个名字,正常了。。。如果是循环引用导致的,讲道理类的代码不变的话,引用关系也不会改变,不可能只是改个名字就恢复了,尬在这里了。

之前还遇到过,起个文件夹名字叫ai,组件脚本挂了。改成ai1,正常了。后来实在拗不过编辑器,文件夹改成了ai_work。

感觉像是有什么地方缓存了曾经写过的类,当时写的可能是确实是有问题的,编辑器一直记住了这个类,导致只要后面还是这个名字,就一直报错。(因为某次报错后,我用cmd+r 重载了下,正常了,但不是每次都灵)

由于项目很大,又是公司的项目,我没法发上来。我也知道这么描述太笼统,对于定位问题没啥帮助。就想请教下有没有遇到过类似问题的同僚,最后又是怎么解决的。

版本:3.3.2 Mac

这个报错是脚本丢失,你可以先打印下脚本的uuid,然后构建完成后,在 bundle 包里面的 index.js 搜索下 uuid 和 类名,看下数据是否存在,还有就是脚本在分包的情况,分包需要提前加载才行。

或许是同个问题:《BUG反馈》Creator3.3.2 严重且隐蔽的BUG,影响到大部分插件功能正常使用

感谢回复,那应该是这个问题了,因为我在写插件中也碰到类似的问题,插件一直识别旧的代码,当时就怀疑哪里有缓存,但是试过清理我能找到的缓存都不管用。目前已知的受影响主要是插件和属性面板,而两者的实现机制都是一样的。 :)

这个其实还没到编译阶段,推测是之前的脚本存在错误,导致属性面板无法加载这个脚本,所以层层抛出错误,最后体现为缺少脚本。当修改了脚本代码后,编辑器由于缓存还是啥的,还是认旧的脚本,所以只要还是这个名字的类,属性面板直接就挂了。重命名后指向新的类,就正常了。期待3.4 :)

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。