2014-05-16 59 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" 
     ],