我開始使用Play框架, 我試過了一些例子,我不知道它究竟是如何在頁面刷新上起作用的:是重新編譯所有文件還是隻是修改了那些文件?播放重新編譯刷新所有文件?
1
A
回答
2
您可以閱讀這篇文章,這也解釋了遊戲的火爆重裝如何工作的:http://jto.github.io/articles/play_anatomy_part2_sbt/
基本上,在文件更改SBT(在遊戲中使用的建築工具)認識到什麼需要重新編譯在您的實例重新插入新的代碼。
請注意,它只適用於無狀態的環境,因爲它不會垃圾,也不會重新啓動舊對象。在無國界的世界裏,每一個請求都會創建它所需的所有對象,並且不會從外部取得任何東西如果您使用帶有Play的websockets,您可能會遇到一些奇怪的行爲,因爲websockets是有狀態的(您必須打開一個新套接字才能獲取更改)。
1
只有在您第一次打開瀏覽器時,Play纔會編譯整個項目。這意味着您第一次在瀏覽器中運行它可能會加載速度稍慢。我不確定播放是如何識別哪些文件是從上次編譯修改過來的,但要回答您的問題,只編譯修改過的文件。
2
它只在您修改後重新編譯相關文件。下面是遊戲的官方網站上說:
運行服務器在開發模式
In this mode, the server will be launched with the auto-reload feature enabled,
meaning that for each request Play will check your project and recompile required sources.
If needed the application will restart automatically.
作爲一個側面說明,Play使用JNotify監視文件系統的變化。
下面是JNotify鏈接:http://jnotify.sourceforge.net/
相關問題
- 1. 終端內重新加載/重新編譯/刷新.beam文件
- 2. 重新編譯jar文件
- 3. 重新編譯未更新的文件
- 4. Make Play!在修改文件時重新編譯,而不是在瀏覽器刷新時重新編譯
- 5. Makefile重新編譯所有內容
- 6. 重新編譯目錄中的所有Python文件
- 7. 如何避免重新編譯Xcode4中的所有文件?
- 8. 默認屬性值,使編譯器重新編譯所有文件
- 9. 刷新時播放新視頻
- 10. Spotify播放按鈕不會刷新所有歌曲
- 11. 什麼可能導致播放自動重新編譯中斷?
- 12. 無需重新編譯預編譯頭文件即可重建
- 13. 讓nodeJS刷新angularjs2文件而不用npm重新編譯開始
- 14. 重新編譯angularJS組件?
- 15. makefile - 在重新編譯其他c文件時總是重新編譯version.c
- 16. 如何重新編譯源文件?
- 17. GWT刷新編譯週期
- 18. Global.asax.cs文件不重新編譯 - 文件有效
- 19. 如何更新媒體播放器以播放新文件
- 20. 刷新而不刷新所有頁面
- 21. 需要角度重新編譯後兩次刷新瀏覽器
- 22. play 2.1.1框架不重新編譯(刷新)
- 23. 如何在AngularJs中重新載入/重新編譯/刷新指令?
- 24. 重新編譯jodatime?
- 25. 重新編譯Nginx
- 26. 重新編譯TJWS
- 27. 重新編譯PHP
- 28. 重新編譯-Xlint
- 29. ubuntu上的反編譯和重新編譯apk文件
- 30. 無法重新編譯反編譯的類文件
請註明您所使用的playframework的版本。 –