Я пытаюсь добавить загрузочные файлы js и css в общедоступные /javascripts и приложения public/stylesheets в приложении для игровых приложений. Я не знаю почему, но я получаю пустой вывод. Правильно ли это для загрузки bootstrap v3 с игрой v2.3? Если не правильная процедура для этого?
Как использовать Twitter Bootstrap 3 с play framework 2.3
Ответ 1
НЕ делить загруженную библиотеку вручную, для чего? Он содержит относительные пути.
Просто распакуйте его в папку public/bootstrap
и включите JS/CSS оттуда в качестве общего публичного актива:
<link rel="stylesheet"
href="@routes.Assets.at("assets/bootstrap/css/bootstrap.css")">
<script type='text/javascript'
src='@routes.Assets.at("assets/bootstrap/js/bootstrap.js")'></script>
конечно, я предполагаю, что у вас есть маршрут по умолчанию, созданный в Play:
GET /assets/*file controllers.Assets.at(path="/public", file)
СОВЕТ: эти папки, которые вы упомянули, являются просто образцом, это не навязывает вам что-либо... вы можете перемещать/переименовывать/удалять их, независимо от того, что
Ответ 2
В файле build.sbt
добавьте следующее:
resolvers ++= Seq(
"webjars" at "http://webjars.github.com/m2"
)
libraryDependencies ++= Seq(
"org.webjars" %% "webjars-play" % "2.3.0",
"org.webjars" % "bootstrap" % "3.0.0" exclude("org.webjars", "jquery"),
"org.webjars" % "jquery" % "1.8.3"
)
Ответ 3
в Play 2.5.x
<link rel="stylesheet" href="@routes.Assets.versioned("bootstrap/css/bootstrap.css")">
<script type='text/javascript' src='@routes.Assets.versioned("bootstrap/js/bootstrap.js")'></script>
Ответ 4
В новой версии Play 2.4 вы должны использовать:
@routes.Assets.versioned("an_asset")
вместо:
@routes.Assets.at("an_asset")
Но не забудьте сохранить это в файле маршрутов:
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
Ответ 5
Мое решение было следующим:
В build.sbt:
libraryDependencies ++= Seq(
"org.webjars" % "bootstrap" % "3.3.7"
)
В conf/routes
убедитесь, что у вас есть следующая строка: (Это должно быть включено по умолчанию, если вы не удалили его)
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
В вашем файле file.scala.html
вы включаете bootstrap следующим образом:
<link rel="stylesheet" media="screen" href="@routes.Assets.versioned("lib/bootstrap/css/bootstrap.min.css")">
<script src="@routes.Assets.versioned("lib/bootstrap/js/bootstrap.min.js")" crossorigin="anonymous"></script>