2016-07-12 2 views
0

У меня есть приложение, игра 2.5.x и я создал файл в следующей папке:Где мой скомпилированный файл сценария кофе js?

/app/assets/javascript/test.coffee 

В моей master.scala.html у меня есть:

<script src="@routes.Assets.versioned("javascripts/test.js")" type="text/javascript"></script> 

Мой plugins.sbt имеет:

// web plugins 

addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0") 

addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.0") 

addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.3") 

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7") 

addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0") 

addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.0") 

addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.2") 

При запуске приложения оно не создает файл в моей /public/javascript/test.js папке.

Попытка перейти к файлу файл не найден ошибка:

http://localhost:9000/assets/javascripts/test.js 

Мои маршруты есть:

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

Как это должно работать, как я никогда не использовал это раньше?

Ссылка: https://www.playframework.com/documentation/2.5.x/AssetsCoffeeScript

ответ

1

Вы совершили ошибку:
Вы должны поместить файл test.coffee в папке /app/assets/javascripts/ - есть s в конце JavaScript ы. Тогда это должно сработать.

Кроме того, вы должны знать, что скомпилированный test.js файл не быть помещены в папку /public/javascript/. Вместо этого игра использует папку target для всего скомпилированного кода (*.class файлов, скомпилированных активов, таких как ваш файл *.coffee и т. Д.). В вашем конкретном случае скомпилированный файл JavaScript будет помещен в target/web/public/main/javascripts/, где игра забирает его при обслуживании файла клиенту. Просто просмотрите папку target, чтобы получить представление о том, как Play организует скомпилированные ресурсы. Совет. Если что-то не работает, не компилируется и т. Д., Где вы думаете, что иногда может возникнуть идея просто удалить папку target, чтобы начать «свежий». (Или просто используйте sbt clean или activator clean).

+0

он работал, но сгенерированный файл находится в '' '/ assets/javascripts/test.js''', в документации также говорится, что он будет находиться в общей папке. – Blankman

+1

Я думаю, у нас есть недоразумение. Да, файл может быть доступен ** из браузера ** через '/ assets/javascripts/test.js', но ** в файловой системе ** это ** не ** помещается в папку' public' вашего проекта но в папке «target». – mkurz

Смежные вопросы