脚本放到新建的文件夹内就显示 Can not find cc.Component

各位大佬,,小弟今天遇到一个比较诡异的问题,脚本只要拖拽到新建的文件夹下,或者是在新的文件夹下创建新的脚本,,像精灵上拖动的时候就显示 Can not find cc.Component ,引擎版本2.0.9
请问下这是咋回事啊,,,。。

Can not find cc.Component in the script e88128/A4VM56TdrsvEFHi+.
at Object.addComponent (/Users/ikeshyzz/Documents/app/CocosCreator/2.0.9/CocosCreator.app/Contents/Resources/app.asar/editor/page/scene-utils/utils/scene.js:1:5981)
at HTMLElement.add-component (/Users/ikeshyzz/Documents/app/CocosCreator/2.0.9/CocosCreator.app/Contents/Resources/app.asar/editor/builtin/scene/panel/messages/scene-operation.js:1:1166)
at Object.e._dispatch (/Users/ikeshyzz/Documents/app/CocosCreator/2.0.9/CocosCreator.app/Contents/Resources/app.asar/editor-framework/lib/renderer/panel.js:1:1941)
at EventEmitter.o.on.s (/Users/ikeshyzz/Documents/app/CocosCreator/2.0.9/CocosCreator.app/Contents/Resources/app.asar/editor-framework/lib/renderer/ipc.js:1:2917)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:204:7)

求大侠帮助/T T 万分感谢。

meta删了重新生成一下,不行的话清理一下Libaray文件夹

是不是有重名的文件?我之前就是因为文件重名。然后文件名字改了一个名字就好了。。

我今晚试试看,,昨天是把有问题的meta文件和Libaray删了,不太行, 我今晚试试看全删了。

我这个现在有点奇怪,我文件夹改名之后有的能用,有的就用不了,例如:seres就不能用,然后scrrrew就能用了。。都是随便打的名字,也不知道为啥。

原因是这样的:

你有两个文件同名(比如你有两个文件,都叫 data.js)

详解(复现):

  • 第一个文件 data.js,我们这里叫他 data1,内容没有 cc.class,是一个普通的 js 文件,使用方式一般靠 require("data.js") 来引用
  • 第二个文件 data.js,我们这里叫他 data2,内容包含 cc.class,并继承 cc.Component
  • data1 文件和 data2 文件,都各自有一个 data.js.meta 文件
  • 当你把 data2 文件(带有 cc.class 的那个)拖入场景节点上的时候,会报错:
"Can not find cc.Component in the script e88128/A4VM56TdrsvEFHi+."

原因是因为,引擎找到了第一个文件(data1 文件),
但是发现里面没有继承 cc.Component 甚至连 cc.Class 都没有
所以报错。

解决方法:

将两个文件区别命名,并删除原来对应的 data.js.meta 文件
将两个文件区别命名,并删除原来对应的 data.js.meta 文件
将两个文件区别命名,并删除原来对应的 data.js.meta 文件