我正在制作一个依赖于块概念的css网格系统。所以我有一个基本文件,如:
$max-columns: 4;
$block-width: 220px;
$block-height: 150px;
$block-margin: 10px;
它由mixin使用:
@mixin block ($rows, $columns, $max-columns) {
display: block;
float: left;
margin: $block-margin 0 0 $block-margin;
box-sizing: border-box;
width: ($block-width * $columns) - $block-margin;
}
但我也希望javascript能够访问基本文件中的变量。我当时想我可以创建一个不可见的div,并为其赋予$ block-width,$ block-height和$ block-margin属性并从中获取值。但是max-columns不能直接映射到任何东西,因此我不得不想出一种hacky的方法来将它渲染到div中。有没有一种更干净的方法可以将值从sass / css共享到javascript,反之亦然?
这可以使用gulp-sass-vars-to-js完成。它从您的.scss文件生成一个.js文件。.js文件包含在.scss文件中声明的所有变量。然后,您可以将“生成的js”“要求”到您的.js中