2013-05-17 98 views
4

我在使用require.js在很好的播放框架。在調整Build.scala文件後,我正在生成縮小的js文件,但是我無法找到關於將所有require.js模塊並置到單個js文件中的任何信息?發揮框架JS連接

如果有人能夠擺脫任何光線或引導我走向正確的方向,我將不勝感激。

回答

1

你知道「webjars」(http://www.webjars.org)嗎? Webjars是一個框架,它爲您提供了jar文件中的Javascript和CSS庫/框架。您可以將它們作爲依賴添加到您的構建文件中。他們還提供一些輔助函數,其中一個將requirejs-stuff「編譯」(連接和縮小)爲一個文件。

看看文檔:http://www.webjars.org/documentation他們提供了幾個簡單的例子。

+1

他用2.2.x的,webjars似乎目標2.3.x版本(?以上) –

+1

我能記得的最早版本是2.0.1播放。他們做了一個示例項目(可在https://github.com/webjars/sample-play2上獲得)。 他們也有2.1.0的示例(請參閱該項目的早期版本:https://github.com/webjars/sample-play2/tree/3d53ffabd88e18a525ccd8985ea5a6810a3601a0)。我認爲它也適用於2.2.x。 – Peanut

1

我在2.2.x版中遇到了有關PlayJ中的requireJS集成的一些「疑難雜症」。

a)不要更改您的路線文件資產位置。 Play的慣例似乎都是公開的javascripts進入public/javascripts,你的requireJS驅動程序會進入app/assets/javascripts。

二)build.sbt requireJS線走在底部,「playJavaSettings」或「playScalaSettings」如此之下:

name := "TestContcatJS" 

version := "1.0-SNAPSHOT" 

libraryDependencies ++= Seq(
    javaJdbc, 
    javaEbean, 
    cache 
)  

play.Project.playJavaSettings 

requireJs += "main.js" 

requireJsShim += "main.js" 

c)你可以使用相對引用您的驅動程序中的公衆的JavaScript路徑。喜歡的東西(在main.js):

require.config({ 
    paths: { 
     'public-js': '../../public/javascripts' 
    } 
}); 

require([ 
    "public-js/foo", 
    "public-js/bar" 
]);