2014-05-16 158 views
4

上下文:
我正在创建一个Cocos2d-JS游戏。我已经创建了该项目并处于开发阶段。Cocos2D-JS - 编译并运行'Clean'构建?

我可以在控制台的项目目录中运行cocos run -p webcocos run -p web --source-map。这些命令的工作,并允许我运行和测试我的项目。


问题:
简单:代码变化使我在的cocos2d-JSB编译器没有被拾起。我最近更改的旧代码仍然存在于新编译的cocos2d项目中。我无法检测到对已编译的类文件所做的更改。


技术:
技术上的问题:修饰.js文件没有被正确地的cocos2d-JS编译器复制(从终端/控制台)。以前版本的.js文件以某种方式保留在localhost-web-server中。本地主机由运行cocos2d应用程序的Python脚本维护。

(我用的打字稿.ts写我的大部分代码和编译下来到JavaScript .js.js.map。我肯定编译下来打字稿为Javascript运行科科斯编译器之前)


更多:
在我的Chrome浏览器中使用Javascript控制台时,我可以看到我的.ts文件在localhost中可见。我也可以这样看到我的.js文件,并且可以确认代码没有被更新。


问:
我怎样才能“力”cocos compilecocos run命令来覆盖,而不是“智能”保留旧文件旧的任何.js文件,?

--source-map是否可能使run命令强制重新构建?

我想在Apple的Xcode中创建一个'Clean Build',但对于cocos2d-js。我怎样才能做到这一点?

如果这些都不可能,我可以在哪里找到localhost使用的build/run目录,这样我就可以自己手动更新.js文件了?

回答

7

修复它: .js文件被我的浏览器缓存。

问题:
Chrome浏览器正在缓存.js文件。我通过关闭缓存来解决此问题。我没有意识到localhost确实指向了项目目录。


解决方案:禁用缓存在Chrome:
菜单(右上角的图标) - >工具 - >开发者工具 - >设置(齿轮图标) - >选中该复选框为禁用缓存(当DevTools是开放的)

0

您应该知道,Chrome对于缓存是顽强的。
你可以关闭它提供的每一种方式,它仍然会保留你不想要的js文件。

我的建议是重新启动整个浏览器 - 不只是您正在调试的选项卡 - 至少每小时一次。

0

是的,它很简单,只需用F12打开开发工具,然后进入设置,执行缓存操作,当您运行游戏时,再次激活开发工具(F12)并刷新页面

0

如果你不想缓存,你可以在你的project.json文件中设置noCache为true

这里是示例代码。

{ 
     "project_type": "javascript", 
     "debugMode": 1, 
     "showFPS": false, 
     "frameRate": 60, 
     "noCache": true, 
     "id": "gameCanvas", 
     "renderMode":1, 
     "engineDir": "frameworks/cocos2d-html5", 
     "modules": [ 
     "cocos2d", 
     "cocostudio", 
     "editbox" 
     ],