如何在Play框架2.3中使用Twitter Bootstrap 3

时间:2014-11-23 16:52:34

标签: twitter-bootstrap playframework playframework-2.3

我一直在尝试在play框架应用程序中将bootstrap的js和css文件添加到public / javascripts和public / stylesheets应用程序中。我不知道为什么,但我得到一个空白输出。是使用play v2.3进行bootstrap v3的正确方法吗?如果没有,那么正确的程序是什么?

5 个答案:

答案 0 :(得分:13)

不要手动划分下载的库,用于什么?它包含相对路径。

只需将其解压缩到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)

提示:您提到的这些文件夹只是示例,它不会让您倾向于任何东西......您可以移动/重命名/删除它们,无论

答案 1 :(得分:3)

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"
)

答案 2 :(得分:2)

在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>

答案 3 :(得分:1)

我的解决方案如下:

在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文件中,您包含如下引导程序:

<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>

答案 4 :(得分:0)

在新的Play 2.4版本中,您应该使用:

@routes.Assets.versioned("an_asset")

而不是:

@routes.Assets.at("an_asset")

但请记住将其保留在 routes 文件中:

GET     /assets/*file               controllers.Assets.versioned(path="/public", file: Asset)