【问题标题】:How to use requirejs in play framework with custom folder structure如何在具有自定义文件夹结构的播放框架中使用 requirejs
【发布时间】:2013-02-17 17:53:14
【问题描述】:

我刚切换到玩框架 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 以在优化时使用我的文件夹?

【问题讨论】:

    标签: playframework requirejs playframework-2.1


    【解决方案1】:

    在 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(注意:它不在master分支中)

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 1970-01-01
      • 2013-01-31
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2012-03-19
      相关资源
      最近更新 更多