问题
This is my current setup for Play 2.2.x requireJS. Will it continue to work after 2.3? I can't find requireJs or requireJsShim anywhere in the 2.3 documentation.
requireJs ++= Seq("mainAccount.js", "mainOrg.js", "mainPublic.js"), // This tells Play to optimize this file and its dependencies
requireJsShim += "build.js", // This tells Play to read the RequireJS "shim" configuration from build.js
requireJsFolder := "js"
回答1:
Instead of
requireJs
use:RjsKeys.modules := Seq( WebJs.JS.Object("name" -> "mainAccount"), WebJs.JS.Object("name" -> "mainOrg"), WebJs.JS.Object("name" -> "mainPublic") )
Instead of
requireJsShim
useRjsKeys.mainConfig := "build"
- I think you can just omit
requireJsFolder
asbaseUrl
is considered to be eitherjs
orjavascripts
by default. See here: https://github.com/sbt/sbt-rjs/blob/master/src/main/scala/com/typesafe/sbt/rjs/SbtRjs.scala#L104 If you want to change to something else, then useRjsKeys.baseUrl := "your-js-dir-name"
Also there is a github project using RequireJS that was migrated to Play 2.3, may be useful as well: https://github.com/mariussoutier/play-angular-require-seed
For more details check sbt-rjs plugin docs: https://github.com/sbt/sbt-rjs
来源:https://stackoverflow.com/questions/24420373/play-2-3-requirejs-optimization-and-shim-for-multiple-modules