WebJarAssets找不到jQuery.min.js

时间:2016-10-21 08:02:31

标签: jquery scala playframework webjars

我的设置使用了Scala Play 2.5的org.webjars.webjars-play.2.5.0。我使用了几个WebJars库用于不同目的,最后有2个jquery.min.js个文件位于2个目录target/web/web-modules/main/webjars/lib/jquerytarget/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)

1 个答案:

答案 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")