Как использовать Twitter Bootstrap 3 с play framework 2.3

Я пытаюсь добавить загрузочные файлы js и css в общедоступные /javascripts и приложения public/stylesheets в приложении для игровых приложений. Я не знаю почему, но я получаю пустой вывод. Правильно ли это для загрузки bootstrap v3 с игрой v2.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>