4

我正在使用 vanilla Sass(没有 Compass/SUZY/Bourbon/etc.),但我无法确定将 *.rb 文件放在哪里。我不是 Ruby 程序员,但我确实找到了一个其他人编写的函数,它可以满足我的需要。我试过搜索,但我想出的结果是死胡同。

官方文档本身没有提供任何线索,只有如何创建自定义函数: http ://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#adding_custom_functions

sass styles.scss styles.css -r custom.rb

LoadError: no such file to load -- static/sass/modules/lib/custom.rb 在尝试此解决方案时(尽管能够 VI 文件): http ://www.seancolombo.com/2010/07/28/如何制作和使用自定义 sass 功能/

这是我能找到的最接近的 SO 问题,但我没有使用 Compass 或 Rails,所以这些解决方案对我没有任何意义: 如何将扩展加载到 Sass::Script::Functions 模块?

我想将我的自定义函数保留在我的模块目录中(其中包含我自己的自定义引导库)。但如果它必须去其他地方,我可以忍受。

4

2 回答 2

2

在 Rails 4 中,这非常简单。在您的 config/initializer/ 文件夹中创建一个 sass.rb 文件并将您的模块放在那里。

例如,取这个随机函数:https ://gist.github.com/chriseppstein/1561650

module Sass::Script::Functions
  def random(*args)
    #...buncha code
  end
end

只需将其粘贴在 config/initializers/sass.rb 中,您就可以在任何 .scss/sass 样式表中访问它,例如:

.greet{
  position: absolute;
  top: random(200px);
  left: random(200px);
  height: random(200px);
  width: random(200px);
  background-color: blue;

}
于 2014-02-21T01:14:48.507 回答
1

尝试按照第二个链接中的说明进行操作,但指定 ruby​​ 文件的绝对路径。在我的机器上,如果给定了相对路径,SASS 似乎在查找文件时遇到问题。

于 2012-09-10T20:32:51.727 回答