【问题标题】:Recompile the parent LESS file in Rails 3.2在 Rails 3.2 中重新编译父 LESS 文件
【发布时间】:2012-08-25 07:48:37
【问题描述】:

我正在使用“less-rails” gem 来减少与我的 rails 应用程序的集成。

在我的“applications.css.less”文件中,我正在将其他 LESS 文件导入其中。当我对任何导入的文件进行更改时,我需要重新保存“application.css.less”文件,以便它接受更改。

当其中一个导入的文件发生更改时,如何让“applications.css.less”文件自动重新编译?

【问题讨论】:

    标签: ruby-on-rails less less-rails


    【解决方案1】:

    找到了这里提到的解决方案:https://github.com/metaskills/less-rails/issues/80

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

    不会与 livereload 一起工作,所以我回到 cmd + r

    【讨论】:

      【解决方案2】:

      这是一个老问题,不幸的是没有办法用原生方式做到这一点。 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

      【讨论】:

      • 感谢您的回复。如果您以静态方式使用 less,这似乎是解决方案。我正在尝试使用资产管道和“less-rails”gem 在我的 Rails 应用程序中完成此操作。
      • 所以,答案是目前还不可能,因为 LESS 编译器只是监视修改后的文件 =(
      【解决方案3】:

      我的其他 less 文件没有通过资产管道。一旦我修复了这个问题并将它们导入到我的“application.css.less”文件中,“application.css.less”就会在其他文件发生变化时开始自动重新编译。

      【讨论】:

      • 如何将这些文件放入资产管道?通过 //= 在应用程序中要求它们 ??你能举个例子吗??
      猜你喜欢
      • 2012-10-14
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多