1

我正在尝试根据此处的文档使用 Play webjars 帮助程序来加载 Bootstrap:http ://www.webjars.org/documentation

但是,在请求页面时,我收到以下异常:

[IllegalArgumentException: css/bootstrap.min.css could not be found. Make sure you've added the corresponding WebJar and please check for typos.]

构建.sbt

libraryDependencies ++= Seq(
...
  "org.webjars" %% "webjars-play" % "2.4.0-1",
  "org.webjars" % "bootstrap" % "3.3.4",
...
)

路线

#WebJars wrapper
GET        /webjars/*file        controllers.WebJarAssets.at(file)

html

...
<link rel='stylesheet' href='@routes.WebJarAssets.at(WebJarAssets.locate("css/bootstrap.min.css"))'>
...

这个相同的 html 文件还使用 webjars 包装器来定位 require.min.js,它可以正常工作。

<script data-main="@routes.Assets.versioned("javascripts/main.js")"
src="@routes.WebJarAssets.at(WebJarAssets.locate("require.min.js"))"></script>

如果我像这样使用 Plays 反向路由加载 Bootstrap,它可以工作:

<link rel='stylesheet' href='@routes.Assets.versioned("lib/bootstrap/css/bootstrap.min.css")'>

为什么 webjars 助手无法加载 Bootstrap,但能够加载 require.min.js?

目前最简单的解决方案似乎是完全放弃 webjars 包装器,因为它在加载资源时似乎并没有真正使它更容易或更易读。

4

0 回答 0