Rails 3.2 & LESS:应用程序中的一些文件.css.less @imported LESS 文件不会触发重新编译



我真的不知道如何调试这个,也许有人有一个主意。

我在application.css.less中导入了许多LESS文件。我们使用Bootstrap,并且我们希望在我们自己的样式中使用其中定义的变量,因此我们不能在清单中要求LESS文件(因为必需文件似乎不会将其变量公开给其他必需文件)。

一切都工作得很好,除了少数LESS文件-当编辑时-不会触发重新编译CSS!哪个做,哪个不做似乎是随机的,只有6个不做(相比之下,总共有25个不做)。当我在清单中需要它们中的一个时,它会成功地导致重新编译-如果我@import它,它不会。

你知道怎么调试这个吗?如果我重命名其中一个(例如从time_records.lesstime_records2.less),它会在更改后成功触发重新编译…所以它必须对这6个特定文件的名称做些什么:

  • calendars.less
  • contacts.less
  • folders.less
  • handout.css.less
  • print.css.less
  • time_records.css.less

非常感谢任何帮助。谢谢你。

最新版本的less-rails实现了Import Hooks,应该可以解决您的问题。我意识到这是一个迟来的答案,而且当时可能还不存在。

进口钩

对.less文件的任何@import都会自动将该文件声明为对导入它的文件的链轮依赖。这意味着您可以编辑导入的框架文件,并在开发期间查看反映在父框架中的更改。所以这:

@import "frameworks/bootstrap/mixins";
#leftnav { .border-radius(5px); }

最终会像你做了下面的事情一样:

/*
 *= depend_on "frameworks/bootstrap/mixins.less"
*/
@import "frameworks/bootstrap/mixins";
#leftnav { .border-radius(5px); }

依赖指令

depend_on path声明一个对给定路径的依赖,而不把它包含在bundle中。

最新更新