3

因此,我将我的 Rails 应用程序中的 LESS 文件(不要问我为什么使用 LESS 而不是 SASS)分解成一堆单独的文件,这取决于它们的用途。

stylesheets/
├── add-listing.css.less
├── application.css
├── checkout.css.less
├── dashboard-home.css.less
├── edit-listing.css.less
├── edit-profile.css.less
├── global-variables.css.less
├── global.css.less
├── inquiries.css.less
├── inquiry.css.less 
├── manifest.css.less
├── profile-listing.css.less
├── questionnaire.css.less
├── scaffolds.css.less
├── scrape.rb
├── screen.css.less
├── search.css.less
├── settings.css.less
└── sign-up-log-in.css.less

我发现这require_tree .application.css. 我需要先加载global-variables.css.less,它不会那样做。即使我说它require global-variables.css.less仍然不会呈现根页面所需的实际 LESS 文件。

所以我一直在做的是将@import所有文件的语句放在manifest.css.less. 它可以工作,但这意味着如果我创建一个新的 LESS 文件,我@import每次都必须添加一个语句。这只是另一个步骤,我想知道是否有任何方法可以用 Rails 做到这一点。有什么建议么?

4

1 回答 1

1

这不是 LESS 独有的问题。在SASS中,也存在无法保证require_tree包含文件的顺序的问题。例如,如果您想要一个variables.scss包含一堆全局 SASS 变量的文件,则必须删除 require_tree 并在 application.css 中执行此操作:

/*
 *= require_self
 *= require main
*/

然后在 main.css.scss 中:

// Import this first so other .scss files can see the variables and the bootstrap stuff
@import "variables";

// @import everything else here. If you add a new file, it won't show up until you add a line to import it here.
@import "style";
@import "tables";
//etc

是的,这很麻烦。

于 2013-09-01T18:55:00.117 回答