Изграждам JS джаджа с помощта на Coffeescript. Ще играя някои трикове, за да получа шаблоните си CSS / SCSS и HTML / HAML в приспособлението JS при компилацията:
# widget.js.coffee.erb
class Widget
constructor: (options) ->
@template = <%= Haml::Engine.new(
File.read(
File.expand_path("../../templates/widget.html.haml", __FILE__))).
render.to_json %>
@css = <%= Sass.compile_file(
File.expand_path("../../stylesheets/widget.css.scss", __FILE__)).
to_json %>
Проблемът е, че когато променя HTML илиCSS, Rails не преподписва Coffeescript в процес на разработка, защото файлът coffeescript не се променя. Трябва да направя глупави промени, за да го принудя да прекомпилира нещата. Това става досадно :-)
Какви са идеите за това как да принудим тръбопровода за активи да компилира определени файлове при всяко искане?
Отговори:
3 за отговор № 1Схванах го. Зъбните колела имат зависи от директива. Добавянето на следните линии към моя widget.js.coffee.erb го решава:
# coffee.js.coffee.erb
#= depend_on "../templates/widget.html.haml"
#= depend_on "../stylesheets/widget.css.scss"
class Widget
...