2015-09-30 1 views
0

Я использую платформу scala play [2.4.2] для создания бэкэнда приложения с одной страницей с угловым. У меня есть все мои вещи в своей папке, и я компилирую и сводя к минимуму активы с помощью gulp.js.Play Framework не подбирает изменения в общедоступных файлах

После каждого изменения мой передний конец перекомпиляции в

/ui/dist/assets 

и я добавил это к моему build.sbt

unmanagedResourceDirectories in Assets += baseDirectory.value/"ui/dist/assets" 

Тогда в моих маршрутов я делаю это:

GET   /assets/*file      controllers.Assets.at(path="/public", file) 

Это прекрасно работает, за исключением случаев, когда я делаю изменения в файлах, и они перестраиваются, игра не найдет новый фил эс. Они будут существовать в каталоге ui assets, но я получу ошибку 404 в своем браузере. Перезапуск игры исправит его, и если игра постепенно скомпилируется (что не делается при запуске gulp), тогда все работает.

В документации упоминается, что активы упаковываются в файл Jar приложения, и имеет смысл, что оно будет ошибочно, пока оно не будет восстановлено. Однако есть ли способ заставить это? автоматический инкремент не набирает изменения.

ответ

0

Ugh, Так что у меня было много проблем, пытаясь найти решение, в котором вы можете добавить другую папку в classpath игры. Который не был идеальным в любом случае, потому что разработчикам явно не нужны активы в пути к классам

Пришел с этим взломом. По сути, просто касаясь файла, который находится в пути к классам, заставляя перезагрузить.

В моей gulpfile после строительства:

gulp.task('reload', [], function() { 
    fs.closeSync(fs.openSync('../conf/test', 'w')); 
});