我在play框架中使用require.js很棒。在调整Build.scala
文件之后,我在生产中获得了缩小的js文件,但是我无法找到有关将所有require.js模块连接到单个js文件中的任何信息?
如果有人能说出正确的方向或指导我,我将不胜感激。
你知道“webjars”(http://www.webjars.org)吗? Webjars是一个框架,它在jar文件中为您提供Javascript和CSS库/框架。您可以将它们作为依赖项添加到构建文件中。它们还提供了一些辅助函数,其中一个函数将requirejs-stuff“编译”(连接和缩小)到一个文件中。
看看文档:http://www.webjars.org/documentation它们提供了一些简单的例子。
我在2.2.x中遇到了关于Play中requireJS集成的一些“陷阱”。
a)不要更改路径文件资产位置。 Play的约定似乎是所有公共javascripts进入public / javascripts,你的requireJS驱动程序进入app / assets / javascripts。
b)build.sbt requireJS行位于底部,“playJavaSettings”或“playScalaSettings”下面:
name := "TestContcatJS"
version := "1.0-SNAPSHOT"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache
)
play.Project.playJavaSettings
requireJs += "main.js"
requireJsShim += "main.js"
c)您可以使用相对路径引用驱动程序中的公共javascripts。像(在main.js中)的东西:
require.config({
paths: {
'public-js': '../../public/javascripts'
}
});
require([
"public-js/foo",
"public-js/bar"
]);