我正在尝试根据此处的文档使用 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 包装器,因为它在加载资源时似乎并没有真正使它更容易或更易读。