2013-02-17 12 views
5

Ho appena passato a Play Framework 2.10 e mi piace usare RequireJS. Tuttavia, ho una struttura di cartelle personalizzata (troppo pigra per scrivere sempre javascript, quindi il suo/js /;). dist mentre poi ho il seguente errore:Come utilizzare requirejs nel framework di gioco con struttura di cartelle personalizzata

Error: ERROR: module path does not exist: /tmp/build_udsbfo9u2iwl/target/scala-2.10/classes/public/javascripts/app.js for module named: app. Path is relative to: /tmp/build_udsbfo9u2iwl [info] RequireJS optimization finished.

Quindi è necessario cercare ovviamente solo nella cartella javascripts. Immagino che ci sia un posto dove è configurata la cartella, ma non sono riuscito a trovarla.

Quindi, come posso configurare requireJs in Play Framework 2.10 per utilizzare le mie cartelle durante l'ottimizzazione?

risposta

9

Impostare il valore requireJsFolder in Build.scala:

import sbt._ 
import Keys._ 
import play.Project._ 

object ApplicationBuild extends Build { 

    val appName   = "play-2-1-features" 
    val appVersion  = "1.0-SNAPSHOT" 

    val appDependencies = Seq(
    jdbc, 
    anorm, 
    "junit" % "junit-dep" % "4.11" % "test" 
) 

    val main = play.Project(appName, appVersion, appDependencies).settings(
    requireJs += "main.js" 
    , requireJsFolder := "js" //changes location from javascripts to js 
) 
} 

quindi è possibile utilizzare nel tuo template:

@helper.requireJs(core = routes.Assets.at("javascripts/require.js").url, module = routes.Assets.at("js/main").url) 

Qui è il mio progetto di esempio https://github.com/schleichardt/play-2.1-features/tree/stackoverflow-question-14924134 (nota: non è in master filiale)

+0

questo è tutto. Grazie. – jan

Problemi correlati