我已经寻找了一段时间,但是我还没有找到解决方案,我正在使用node-sass,并且在编译它(更具体地说是变量)之前,我需要先编辑scss,可悲的是一旦执行了Render函数直接将其编译为CSS,是否可以在node-sass编译之前编辑导入的scs?还是阅读scss并解决所有没有node-sass的导入?
谢谢
答案 0 :(得分:0)
首先,您应该在!ssss变量的末尾添加!default关键字,然后可以传递要覆盖的参数,例如:
您有一个用于原色的变量,请在scss文件中将其定义为
$primaryColor = #fff !default
然后在覆盖此列时,您应该发送以下参数
{ primaryColor: '#bbb' }
,这将覆盖您的scss文件中的primaryColor变量。
const generateSassVariables = map =>
Object.keys(map)
.map(name => `$${name}:${map[name]};`)
.join('\n');
sass.render(
{
data: `${generateSassVariables(newVariables)}@import '${scssFilePath}';`,
includePaths: [styleBasePath, 'app/'],
outputStyle: 'compressed',
},
(error, result) => {..... })