Rails 3.1 & Sprockets & скомпилированные файлы JS - PullRequest
4 голосов
/ 22 мая 2011

Итак, попробуйте Rails 3.1-rc1 с конвейером ресурсов Sprockets:

Я запускаю rake assets:precompile

, и я получаю каталог / public / assets и файл application.js:Хеш MD5:

application-266b6b0b4fbd28fc01145d90a4158b2f.js

Но проблема заключается в следующем:

Когда я обновляю свой JS и запускаю rake assets:precompile, я получаю больше файлов JS, и он не удаляет старые.

Я точно знаю, как это работает - браузер выбирает только первый, и мне нужно вручную удалить старые.Что не похоже на то, как это должно работать.

Просто боковой захват: Кажется, мне приходится запускать rake assets:precompile каждый раз, когда я что-то меняю.Что больно.

(я думаю, что должно быть несколько документов о том, как все это работает).

Спасибо.

1 Ответ

4 голосов
/ 22 мая 2011

Имя файла js: <имя файла> - .js.

Это сделано для того, чтобы при развертывании новой версии приложения на производственном сервере вашим посетителям также приходилось загружать новый файл js. Хеш гарантирует, что они не перепутают новое приложение и старые кэшированные файлы js, что может привести к поломке всего приложения с учетом динамического характера Интернета в наши дни.

В большинстве сценариев развертывания ваше приложение будет находиться в новом каталоге на сервере, и у вас не будет старых скомпилированных js-файлов.

...