在节点-sass编译为css之前编辑sass

时间:2018-07-30 11:05:37

标签: node.js sass node-sass

我已经寻找了一段时间,但是我还没有找到解决方案,我正在使用node-sass,并且在编译它(更具体地说是变量)之前,我需要先编辑scss,可悲的是一旦执行了Render函数直接将其编译为CSS,是否可以在node-sass编译之前编辑导入的scs?还是阅读scss并解决所有没有node-sass的导入?

谢谢

1 个答案:

答案 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) => {..... })