2012-03-21 50 views
4

關閉編譯器的微小功能根據這裏的文檔:https://github.com/playframework/Play20/wiki/AssetsGoogleClosureCompiler它說:如何啓用播放2.0

任何的JavaScript應用程序當前文件/資產將通過谷歌Closure編譯器進行解析,檢查錯誤和依賴性並在構建配置中激活時將其縮小。

但是我無法找到如何設置這個在構建配置,我嘗試添加代碼:

val main = PlayProject(appName, appVersion, mainLang = SCALA).settings(
    javascriptEntryPoints <<= baseDirectory(base => 
     base/"app"/"assets"/"javascripts" ** "*.js" 
    ) 
) 

在build.scala但是我無法找到任何精縮JavaScript文件。

這裏是我試過的步驟:

  1. 添加上面的代碼中build.scala

  2. 創建應用程序/資產/ JavaScript的

  3. 類型的JavaScript文件「編譯」遊戲控制檯,並注意不精縮的JavaScript文件在app /資產/ Java腳本或公共/ JavaScript的

生產

然而,我注意到,如果我寫一些無效的JavaScript,我會得到一個錯誤信息(例如,上127.0.0.1:9000 - 編譯錯誤),所以它看起來像關閉編譯器錯誤檢查成功,但是我不知道怎麼辦縮小。

關於縮小的問題,是否有可能在開發模式下使用常規(非縮小)JavaScript文件,但在生產中使用縮小版本?

謝謝

回答

3

在編譯後,播放不會將資產放入公共或資產文件夾。編譯後的資產(JS,減或CoffeeScript中)得到安置裏面:

/目標/斯卡拉[版本]/resource_managed /主/ ...

比賽將然後創建一個映射到這些文件,以便您可以像處理/ public文件夾一樣處理這些資產。

有一點需要注意的是,在開發模式下,compile不會將文件輸出到這個目錄中。當你打你的本地主機:9000路與瀏覽器,這將做最後的編譯,然後輸出文件的目錄。

要回答縮小版本(並查看更好的示例如何更改構建配置),我建議檢查Yann Simon的帖子,使用Less in Play。這是概念上相同的過程,JS和他也有基於播放模式未精縮/精縮版本之間如何切換一個很好的例子:

https://plus.google.com/u/0/108788785914419775677/posts/QgyUF9cXPkv

+0

謝謝您的幫助! – 2012-04-09 18:56:59