Skip to content

Commit

Permalink
keep original javascript files when doing require js processing
Browse files Browse the repository at this point in the history
- keep javascripts-min folder
- add requireJs helper to deal with switching between dev and prod mode
  • Loading branch information
ph2734 committed Nov 12, 2012
1 parent 9bda3bf commit 63528cd
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
@@ -0,0 +1,16 @@
@**
* Generate an HTML form.
*
* Example:
* {{{
* @requireJs(core = routes.Assets.at("javascripts/require.js").url, module = routes.Assets.at("javascripts/main").url)
* }}}
*
* @param core reference to require.js
* @param module javascript module in question
*@

@(module: String, core: String, productionFolderPrefix: String = "-min", folder: String= "javascripts")


<script type="text/javascript" data-main="@{if(play.api.Mode.Prod == play.api.Play.maybeApplication.map(_.mode).getOrElse(play.api.Mode.Dev)) module.replace(folder,folder+productionFolderPrefix) else module}" src="@core"></script>
4 changes: 2 additions & 2 deletions framework/src/sbt-plugin/src/main/scala/PlayCommands.scala
Expand Up @@ -115,6 +115,8 @@ trait PlayCommands extends PlayAssetsCompiler with PlayEclipse {
val buildDesc = crossTarget / "classes" / "public" / buildDescName
if (requireJs.isEmpty == false) {
val rjnewDir = new JFile(rjoldDir.getAbsolutePath + "-min")
//cleanup previous version
IO.delete(rjnewDir)
val relativeModulePath = (str: String) => str.replace(".js", "")
val content = """({appDir: """" + jsFolder + """",
baseUrl: ".",
Expand All @@ -139,8 +141,6 @@ trait PlayCommands extends PlayAssetsCompiler with PlayEclipse {
}
//clean-up
IO.delete(buildDesc)
IO.delete(rjoldDir)
rjnewDir.renameTo(rjoldDir)
}
cr
}
Expand Down
3 changes: 2 additions & 1 deletion framework/test/integrationtest/app/views/index.scala.html
@@ -1,6 +1,7 @@
@(name:String)

<script type="text/javascript" data-main="public/javascripts/main" src="@controllers.routes.Assets.at("javascripts/require.js")"></script>
@views.html.helper.requireJs(core = routes.Assets.at("javascripts/require.js").url, module = routes.Assets.at("javascripts/main").url)


Hello @name!

4 changes: 3 additions & 1 deletion framework/test/integrationtest/project/Build.scala
Expand Up @@ -13,7 +13,9 @@ object ApplicationBuild extends Build {
anorm
)

val main = play.Project(appName, appVersion, appDependencies)
val main = play.Project(appName, appVersion, appDependencies).settings(
requireJs += "main.js"
)

}

0 comments on commit 63528cd

Please sign in to comment.