我的设置使用了Scala Play 2.5的org.webjars.webjars-play.2.5.0
。我使用了几个WebJars库用于不同目的,最后有2个jquery.min.js
个文件位于2个目录target/web/web-modules/main/webjars/lib/jquery
和target/web/web-modules/main/webjars/lib/jquery/dist
中。
当我访问索引网页时,[IllegalArgumentException: jquery/jquery.min.js could not be found
引发了异常<script type="text/javascript" src="@routes.WebJarAssets.at(webJarAssets.locate("jquery/jquery.min.js"))"></script>
,即使该文件存在于target/web/web-modules/main/webjars/lib/jquery/jquery.min.js
。我尝试了不同的路径lib/jquery/jquery.min.js
来找到脚本但不成功。但是,当使用dist/jquery.min.js
时,它可以找到脚本,但它是我想要的版本。
如何配置以帮助WebJarAssests在jquery.min.js
中找到target/web/web-modules/main/webjars/lib/jquery
?如何阻止其他WebJars将jquery.min.js
的不同版本加载到我的项目中?感谢
与此同时,我正在使用<script type="text/javascript" src="@routes.Assets.at("lib/jquery/jquery.min.js")"></script>
来解决问题。
更新1
当前设置,
class ApplicationController @Inject() (
val webJarAssets: WebJarAssets,
val silhouette: Silhouette[CookieAuthenticatorEnv],
...
) extends AuthController {...}
@(webJarAssets: WebJarAssets, ...)(implicit messages: Messages)
GET /webjars/*file controllers.WebJarAssets.at(file)
答案 0 :(得分:0)
您可以使用常规播放静态资源内容+ sbt-web来使用target/web/web-modules/main/webjars/lib
文件,也可以使用WebJarAssets
内容。 the docs中的更多详细信息。
使用WebJarAssets
,而不是:
webJarAssets.locate("jquery.min.js")
尝试:
webJarAssets.locate("jquery", "jquery.min.js")