4

上下文:
我正在创建一个 Cocos2d-JS 游戏。我已经创建了项目并且正处于开发阶段。

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


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


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

(我使用 Typescript 编写大部分代码.ts.js使用.js.map.


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


问题:
如何“强制”cocos compile命令cocos run覆盖旧的任何 .js 文件,而不是“智能”保留旧文件?

是否有可能--source-map使run命令部队重新构建?

我想在 Apple 的 Xcode 中制作一个“干净的构建”,但对于 cocos2d-js。我怎样才能做到这一点?

如果这些都不可能,我在哪里可以找到本地主机使用的构建/运行目录,以便我可以自己手动更新 .js 文件?

4

4 回答 4

7

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

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


解决方案:在 Chrome 中禁用缓存:
菜单(右上角图标)-> 工具-> 开发人员工具-> 设置(齿轮图标)-> 选中禁用缓存框(打开 DevTools 时)

于 2014-05-16T19:30:32.000 回答
0

是的,就是这么简单,用F12打开开发工具,然后去设置,做缓存,当你运行游戏时,再次激活开发工具(F12)并刷新页面

于 2015-12-19T12:47:35.510 回答
0

你应该知道,Chrome 对缓存很执着。
您可以通过他们提供的各种方式将其关闭,它仍然会保留您不想要的 js 文件。

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

于 2015-10-14T16:27:36.203 回答
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"
      ],
于 2017-02-02T06:10:27.343 回答