我需要将SASS和SCSS字符串编译为项目的CSS字符串。因此,我使用的是节点包 node-sass。转换 SCSS 可以正常工作,但 SASS 不能。
SASS 的示例代码:
'use strict';
var sass = require('node-sass');
var dataTemp = 'body{background:blue; a{color:black;}}';
var output = sass.renderSync({
data: dataTemp
});
console.log(output.css.toString());
问题来了,当我尝试转换这样的东西时,它应该是有效的 .sass 语法
'use strict';
var sass = require('node-sass');
var dataTemp = '.red\n color: red';
var output = sass.renderSync({
data: dataTemp
});
console.log(output.css.toString());
控制台输出:
Error: Invalid CSS after ".": expected 1 selector or at-rule, was ".red color: red "
所以很明显 node-sass 不能那样编译 .sass 代码。node-sass 的语法是:
var result = sass.renderSync({
data: scss_content
[, options..]
});
在对象内部,您可以定义选项甚至函数。也许有办法在这样的函数中编译数据?
其他软件包的任何其他解决方案或建议?