我想通过简单地使用 @import "mixinfile" 来创建一个带有不同 mixin 的 scss 文件,而不是在每个项目中复制该文件。类似于将文件夹添加到 Windows 中的路径。我怎样才能做到这一点?
3 回答
Compass 是 Sass 框架,它不仅提供了大量有用的函数和 mixin,而且还允许您轻松创建自己的扩展。如果您将扩展捆绑为 gem(我个人建议这样做),您将不必记住将其放在文件系统上的位置。
http://compass-style.org/help/tutorials/extensions/
当一个扩展作为 Ruby gem 安装时(这很容易做到,即使你对 Ruby 一无所知),你需要做的就是在你的 config.rb 文件中添加这样的一行:
require "extension-name"
它将使您扩展中的所有样式表都可以访问,就像您在项目目录中拥有它们的副本一样:
@import "extension-name/widgets";
Compass 的作者有一个关于如何在这里编写自己的扩展的截屏视频(不包括从扩展中创建 gem):
http://chriseppstein.github.com/blog/2010/08/01/building-a-personal-framework/
如果您使用的是 Mac,我建议您使用 Codekit 作为预编译器,它为您提供了为您的每个项目导入自己的框架的机会。好东西。
在那里寻找@import 语句http://incident57.com/codekit/help.php
假设你的 mixin 的名称是“example”。因此,您可以在 .scss 文件中写入“@import example”。为了让它工作,你必须在你的样式表路径中有一个名为“_example.scss”的文件。
现在,你说你想跨项目共享这个 mixin。为此,您必须通过 lib 加载您的 mixin,如果我们谈论的是 rails,最好的方法是使用 rails 引擎(请参阅 bourbon gem 源代码)。然后将其作为依赖项添加到您的 gemfile 中(您可以使用 git uri 或其他类型的源)。