问题
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
requireJsuse:RjsKeys.modules := Seq( WebJs.JS.Object("name" -> "mainAccount"), WebJs.JS.Object("name" -> "mainOrg"), WebJs.JS.Object("name" -> "mainPublic") )Instead of
requireJsShimuseRjsKeys.mainConfig := "build"- I think you can just omit
requireJsFolderasbaseUrlis considered to be eitherjsorjavascriptsby 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