2013-04-30 156 views
6

我使用的遊戲框架2.0.4,使用遊戲開始和遊戲運行有什麼區別?

我注意到,在項目文件夾,如果我用play start,服務器的響應比服務器快通過play run開始。然而,用戶不能在服務器public文件夾下訪問靜態資源使用start命令啓動,所以我想知道那是什麼改變了根目錄下的start默認配置或者我需要改變其最初作爲路線:

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 
HEAD /assets/*file    controllers.Assets.at(path="/public", file) 

回答

10

當您想要在生產模式上部署應用程序時,應執行play start命令。它的響應速度更快,因爲自動重裝類其他開發支持功能已被禁用默認爲

不像play start命令,該命令play run最好在發展模式執行,因爲它將使所有發展支撐用功能如自動重新加載,eBean DDL生成等等上。

其實,如果你有一個關於public/javascripts/jquery-1.9.0.min.js的javascript文件。您還可以訪問網址http://yourdomain/assets/javascripts/jquery-1.9.0.min.js即使您使用play startplay run因爲public/*文件映射到/assets/*

而且要注意的是,play start命令正在執行過程中背景,而play run沒有。

+0

感謝您的回答!我想我已經想出了爲什麼斷言不能在生產模式下使用'start'訪問的問題:因爲我的程序動態生成靜態文件,其中的開始將預編譯* all *文件,並且它無法訪問動態生成的靜態文件。但是如果我想使用生產模式,我現在不知道如何解決這個問題。 – monica 2013-04-30 04:17:56

+0

嗯,我試圖在應用程序啓動時('play start')在'projectname/target/scala-2.10/classes/public/dynamic.file.txt'上放置任何文本文件(比如說dynamic.file.txt)。而發生的事情是,我可以通過URL http:// yourdomain/assets/dynamic.file.txt訪問新添加的文件。您可以嘗試一下,朋友! ;) – 2013-04-30 06:02:25