#scala #playframework
#scala #playframework
Вопрос:
У меня есть эта конфигурация на моих маршрутах:
GET /assets/*file controllers.Assets.at(path="/public", file)
У меня есть какой-то файл в общей папке public/stylesheets/home.css
когда я пытаюсь получить этот файл, он возвращает
curl localhost:9663/assets/stylesheets/home.css
404 Resource not found
Я обнаружил, что проблема заключается в этой строке в build.sbt
resourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"
Ответ №1:
Я только что проверил свое приложение Play 2.7, и оно работает.
Единственное различие, которое у меня есть, заключается в route
файле:
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
Существует устаревшее предупреждение, но, по крайней мере, оно работает.
После того, как вопрос был обновлен:
resourceDirectory in Assets
определяет, где Play ищет ресурсы.
По умолчанию воспроизведение просматривается в public
папке. С помощью этой строки вы перезаписали его, app/assets
поскольку sourceDirectory
он находится app
в игре.
Чтобы решить вашу проблему, просто удалите эту строку или переместите свои ресурсы.
Кстати, это конфигурация, которую использует Play:
resourceDirectory in Assets := baseDirectory.value / "public"
Комментарии:
1. итак, теперь у вас есть решение путем удаления
resourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"
?2. Я скорректировал свой ответ