Перекомпилируйте родительский файл LESS в Rails 3.2

Я использую гем "less-rails", чтобы быть менее интегрированным в мое приложение rails.

В моем файле "application.css.less" я импортирую другие файлы LESS. Когда я делаю изменения в любом из импортированных файлов, мне нужно повторно сохранить файл "application.css.less", чтобы он мог принять изменения.

Как я могу автоматически перекомпилировать файл "application.css.less" при изменении одного из импортированных файлов?

3 ответа

Решение

Мои другие меньшие файлы не проходили через линию активов. Как только я исправил это и импортировал их в мой файл "application.css.less", "application.css.less" начал автоматически перекомпилироваться, когда другие файлы изменились.

Нашел решение, упомянутое здесь: https://github.com/metaskills/less-rails/issues/80

gem 'less-rails', github: 'dv/less-rails', branch: 'fix-import-dependencies'

не буду работать с livereload, так что я вернулся к cmd + r

Это старая проблема, и, к сожалению, нет способа сделать это обычным способом. Компилятор LESS просто смотрит измененные файлы. Таким образом, если вы используете файл с импортом, этот файл необходимо изменить и перекомпилировать.

В среде разработки (с использованием javascript) вы можете решить эту проблему, очистив кеш:

  <link rel="stylesheet/less" type="text/css" href="/css/style.less"/>
  <script src="/js/less-1.1.5.min.js" type="text/javascript"></script>
  <script>
    less = {env:'development'};
    function destroyLessCache(pathToCss) { // e.g. '/css/' or '/stylesheets/'
      if (!window.localStorage || !less || less.env !== 'development') {
        return;
      }
      var host = window.location.host;
      var protocol = window.location.protocol;
      var keyPrefix = protocol + '//' + host + pathToCss;

      for (var key in window.localStorage) {
        if (key.indexOf(keyPrefix) === 0) {
          delete window.localStorage[key];
        }
      }
    }
    window.onload=destroyLessCache('/css/');
  </script>

Ссылка: https://github.com/cloudhead/less.js/issues/47

Другие вопросы по тегам