Playframework / RequireJs javascript文件未经优化

时间:2014-03-03 02:41:30

标签: angularjs optimization playframework requirejs

我是玩框架的新手,我正试图让它与RequireJs一起使用。当我在开发模式下运行我的应用程序时,一切运行正常,但是当我设置application.mode=prod并使用play start启动服务器时,我遇到了问题。

尝试加载/assets/javascripts-min/home/main.js时,浏览器会收到HTTP404。

这是我的Build.scala文件

import sbt._
import Keys._
import play.Project._
import com.google.javascript.jscomp._
import java.io.File

object MyBuild extends Build {

  val appDependencies = Seq (
    jdbc,
    anorm,
    cache
  )

  val appVersion = "0.0.1"

  val appName = "TodoList"

  // set clojure compiler options so it won't choke on modern js frameworks
  val root = new java.io.File(".")
  val defaultOptions = new CompilerOptions()
  defaultOptions.closurePass = true
  defaultOptions.setProcessCommonJSModules(true)
  defaultOptions.setCommonJSModulePathPrefix(root.getCanonicalPath + "/app/assets/javascripts/")
  defaultOptions.setLanguageIn(CompilerOptions.LanguageMode.ECMASCRIPT5)

  CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions)

  val main = play.Project(appName, appVersion, appDependencies).settings(
        (Seq(requireJs += "home/main.js", requireJsShim := "home/main.js") ++ closureCompilerSettings(defaultOptions)): _*
    )
}

1 个答案:

答案 0 :(得分:0)

事实证明,我有build.sbt(在root目录中)和Build.scala(在project目录中)文件中存在冲突。删除sbt文件后,requireJs优化开始按预期工作