Версии:Как настроить отпечаток актива в Play 2.3.4?
- игры 2.3.4
- SBT 0.13.1
- Скала 2.11.2
Я следовал documentation on playframework.com для того, чтобы дактилоскопии на государственные активы, но звонки routes.Assets.versioned
никогда не выпускает версированное имя файла с хэшем дайджеста.
Соответствующие строки в build.sbt:
scalaVersion := "2.11.2"
pipelineStages := Seq(rjs, digest)
Соответствующие строки в проекте/plugins.sbt:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.4")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.5")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
Соответствующие строки в конф/маршрутов:
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
И основной шаблон:
@(title: String, lang: String, cssClasses: String, bodyContents: Html)
<!DOCTYPE html>
<html lang="@lang">
<head>
<meta charset="UTF-8">
<title>@title</title>
<script type="text/javascript" src="@routes.Assets.versioned("javascript/components/main.js")"></script>
</head>
<body>
<div class="layout @cssClasses">
@bodyContents
</div>
</body>
</html>
Выход всегда:
<!DOCTYPE html>
<html lang="el">
<head>
<meta charset="UTF-8">
<title>[title]</title>
<script type="text/javascript" src="/assets/javascript/components/main.js"></script>
</head>
<body>
...
</body>
</html>
Я не получаю ошибки компилятора. Отпечаток пальца просто «не работает». Я предполагаю, что мне не хватает чего-то простого, но я не вижу этого.
Другие ноты:
- работает
find . -name "*.js"
в корне проекта не показывает файлы, которые имеют дайджеста прилагается к началу, как документация предполагает - Я запускать
sbt clean dist
для создания режима производства и то же самое поведение
Может кто-нибудь посоветуете?
Спасибо!
NB: Я начал изучать сгенерированный класс в target/src_managed/main/routes_reverseRouting.scala
, чтобы отладить сгенерированный метод versioned
, но это кажется излишним для чего-то довольно простого.
Я модернизировал, чтобы использовать активатор, который обертывает 0.13.5, и результат тот же. Я вижу файлы .md5, но (1) ни один из javascript не хэширован, и (2) sbt-digest - хэширование прекомпилированных .scss-файлов вместо скомпилированных файлов .css (мы используем плагин sbt-sass - который Я понимаю, может быть причиной проблемы с CSS, но это не должно влиять на javascript). Только правильные хэшированные файлы - это png. – biegel
Активатор использует 0.13.5, но выполняет ли ваш проект? Проверьте 'project/build.properties'. Можете ли вы попробовать без плагина SASS, может быть, это вызывает проблему? –
Это был плагин sass, он был просто исправлен несколько часов назад. Подробнее см. Https://github.com/ShaggyYeti/sbt-sass/pull/13. – biegel