0

我真的不知道如何调试这个,也许有人有想法。

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

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

关于如何调试的任何想法?如果我重命名其中一个(例如 from time_records.lessto time_records2.less),它会在更改后成功触发重新编译......所以它对这 6 个特定文件的名称做了一些事情:

  • 日历.less
  • 联系人.less
  • 文件夹.less
  • 讲义.css.less
  • print.css.less
  • time_records.css.less

任何帮助是极大的赞赏。谢谢你。

4

1 回答 1

2

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

导入钩子

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

@import "frameworks/bootstrap/mixins";

#leftnav { .border-radius(5px); }

最终会像您在下面执行此操作一样:

/*
 *= depend_on "frameworks/bootstrap/mixins.less"
*/

@import "frameworks/bootstrap/mixins";

#leftnav { .border-radius(5px); }

依赖指令

depend_on 路径声明对给定路径的依赖关系,但不将其包含在包中。当您需要使资产的缓存过期以响应另一个文件中的更改时,这很有用。

于 2013-10-02T22:14:49.557 回答