升级成creator后开发效率大幅度下降

以前是用cocosx+lua。
如果是开发版,我的做法是,单个窗口一个lua文件。
每次打开窗口都会:
package.loaded[窗口文件] = nil
require 窗口文件
然后在lua层面上try掉错误代码
调用cocos的代码都有一层中间的lua代码,里面做了大量的检测,保证c层面不崩溃。
这样每次修改代码,只用保存一下,重新打开就可以出新效果了。或者崩溃掉,也是LUA层面,把窗口关闭掉,再打开也可以继续写代码。根本不用关闭进程。
偶尔会出现一些变量设置到一半无法再继续下去的情况,但是很少,所以写代码一直很快。
现在用了creator后,creator提倡的也是这样,但是实现的很不友好。我修改了代码,经常莫名其妙就崩溃,而且一崩溃就是进程,只能整个关闭掉,而且修改后,creator的重新编译好慢。我现在代码量还不多。真怕以后代码越加越多是不是会卡得受不了。
所以现在写代码基本上,就是改掉东西,经常就是一个小变量写错了,就要整个重新退出,等待creator编译完成,再启动,再走一大堆游戏流程到达刚才的界面,很痛苦。
所以我建议:
1.启动的时候不要编译js,不要把每个文件require一次去检查他们对错。或者让用户可以自己选也可以。至少保证像NODE那样,点击,立刻可以启动。
2.提供我们在代码中可以重新require的单个文件函数(现在是访问一个网页整个requre,很慢,而且还老莫名其妙崩溃掉,我还没搞清楚)
3.可以让开发者自己去try掉一些代码。我以前项目是做了特殊处理,每个窗口的关闭按钮都会在第一部创建出来。这样保证后面逻辑代码出错了,界面上也会有个关闭按钮。关闭后再打开就可以重新requre了。但是creator肯定不可能给我做这种特殊处理,所以我建议,可以类似lua那样,我记得他有个atpanic函数,如果脚本出错,就调用。这时候我们可以自己去销毁,然后重新创建,或者怎么样的

我现在的想法也和creator那样,想直接用js,不用lua了。谁知道以后会不会要出个H5版本。既然重新选择底层,就尽量到位一些。

字很多,没看懂请留言,我会持续跟进这个帖子

谢谢反馈

这个本来就可以,将来也会继续可以

这个好像比较难,因为 web 引擎也是 js 写的,js 和 js 之间无法区分 ctx

lua 和 js 的开发效率应该不会差别太大,但是 js 的工具链和生态确比 lua 好太多。

要说开发效率下降,可能也是你刚开始转,不太适应,这需要时间。

同意还是js算了 lua官方也别搞了

1赞

2.请问如何单个文件重新require
3.我想到了一个办法可以试试,可以了再发帖

@zilong 我之前js也开发了几年了,不会因为转的效率问题,之前页游做了2年,服务器一直有在用NODE,倒不是什么问题。

没办法,只能你在文件里封装一个方法,然后由外部重新调用

太酷了,刚刚用上,确实很赞。

66666666

@jare 请问调用哪个函数。我没找着cocoscreator的单个文件重新调用的方法

你定义

module.exports = function () {
    return xxxx; (原先 export 的内容)
}

然后 require(‘xxx’) 改成 require(‘xxx’)() 就好了

好的,3q