Bootstrap をロードするために、こちらのドキュメントに従って Play webjars ヘルパーを使用しようとしています: 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.]
build.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 ラッパーを完全に破棄することです。