我正在升级具有大量SCSS样式表的rails应用程序以使用资产管道,并且需要为每个文件包含一些全局变量和混合.
在每个文件的顶部添加几个@import指令不是很干,所以我想做这样的事情:
# application.css /* *= require variables *= require mixins *= require_tree . */
这当然不起作用,因为变量不会跨文件持久化.任何人都知道如何实现这一点?
解决方法
默认的清单语法不够强大,无法为您提供有用的Sass功能,如共享变量,mixins等.您应该:
>将application.css重命名为application.scss(或Rails 4或更早版本中的application.css.scss)
而不是使用
/* *= require variables *= require mixins *= require_tree . */
废话,你现在应该使用
@import "variables"; @import "mixins"; @import "blah"; // import each SCSS file in your project like this.
这将确保您在整个项目中充分利用您的变量和混合,并将您保留为Sass允许的DRY.