如何在play框架中使用requirejs和自定义文件夹结构

jan*_*jan 5 playframework requirejs playframework-2.1

我刚刚切换到框架2.10并喜欢使用RequireJS.我确实有一个自定义文件夹结构(懒得一直写javascripts,所以它的/ js /;).而dist我然后得到以下错误:

错误:错误:模块路径不存在:/tmp/build_udsbfo9u2iwl/target/scala-2.10/classes/public/javascripts/app.js用于名为app的模块.路径相对于:/ tmp/build_udsbfo9u2iwl [info] RequireJS优化完成.

所以要求显然只在javascripts文件夹中查找.我想必须有一些文件夹配置的地方,但我无法找到它.

那么,如何在play framework 2.10中配置requireJs以在优化时使用我的文件夹?

Sch*_*rdt 9

在Build.scala中设置requireJsFolder值:

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
  )
}
Run Code Online (Sandbox Code Playgroud)

然后您可以在模板中使用它:

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

这是我的示例项目https://github.com/schleichardt/play-2.1-features/tree/stackoverflow-question-14924134(注意:它不在主分支中)