editor/page/project-scripts.js 中覆盖了Module._resolveFilename方法,增加了对cocos特有的不带路径require的支持,但是这样导致了工程内不能有文件名(path.basename)相同的代码。
而在实际开发中,并不是所有的脚本文件都是用于节点组件,还会有很多与UI无关的纯逻辑代码以及第三方代码。
比如公共库的index.js,经常用来集合公共库内的Api,类型等
几种建议
1._resolveFilename取得缓存的路径后,检查一下完整路径,确认完全相等
2.仅声明了component的组件会被_resolveFilename缓存
3.对于明确的带有完整路径的require,不要在简化路径缓存中查找