【问题标题】:Including multiple LESS files in rails asset pipeline在 Rails 资产管道中包含多个 LESS 文件
【发布时间】:2013-07-23 14:53:08
【问题描述】:

所以我根据它们的用途将我在 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 做到这一点。有什么建议吗?

【问题讨论】:

  • 据我所知,这确实是要走的路,但是是的,它很糟糕。
  • 你有哪个版本的导轨??

标签: css ruby-on-rails ruby less asset-pipeline


【解决方案1】:

这不是 LESS 独有的问题。在SASS中,也存在无法保证require_tree包含文件的顺序的问题。例如,如果您想要一个包含一堆全局 SASS 变量的 variables.scss 文件,则必须删除 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

是的,这很麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2012-07-11
    相关资源
    最近更新 更多