使用Play框架,我试图在视图页面中显示图像friend_request.png
。
这是我的代码,但图片没有显示:
<img src=@("images/friend_request.png") width="28" height="22" />
我假设你想要包含静态图像,因为你在谈论Scala,我假设你正在使用Play Framework 2。
图像在标准项目布局中的适当位置应为public/images/friend_request.png
。然后你可以参考图像:
<img src="@routes.Assets.at("images/friend_request.png")" width="28" height="22" />
有关资产(缓存时间等)的更多信息,请参阅Play Framework documentation。
Skyr's answer不适用于我的Play版本(2.4.2)。使用它会产生以下编译错误:
value at不是controllers.ReverseAssets的成员
咨询了documentation后,这对我有用:
<img src="@routes.Assets.versioned("images/yourImage.png")">
yourImage.png
在public/images
。
如果您想通过缓存和压缩图像(以及Web应用程序的所有其他资源)来加速页面加载,请尝试以下操作:
确保您的plugins.sbt
包含以下条目:
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")
然后,在你的build.sbt
中,添加:
// Apply RequireJS optimizations, create a checksum, and zip each asset
pipelineStages := Seq(rjs, digest, gzip)