5

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

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

所以 require 显然只在 javascripts 文件夹中查找。我想一定有某个地方配置了文件夹,但我找不到它。

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

4

1 回答 1

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
  )
}

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

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

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

于 2013-02-19T17:35:55.743 回答