将 Sass 字符串(不是 SCSS)转换为 CSS 字符串
Convert Sass String (not SCSS) to CSS String
我需要将 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..]
});
在对象内部您可以定义选项甚至函数。也许有没有办法在这样的函数中编译数据?
对于其他软件包还有其他解决方案或建议吗?
您的 SCSS 无效 - 您需要在属性周围提供 {}
:
'use strict';
var sass = require('node-sass');
var dataTemp = '.red {color: red}';
var output = sass.renderSync({
data: dataTemp
});
console.log(output.css.toString());
您可以使用 SassMeister
等在线工具验证您的 SASS/SCSS
好吧,通过添加名为 'indentedSyntax' 的选项并将其设置为 'true',node-sass 也可以编译 .sass 代码。抱歉,应该更准确地阅读文档。感谢您的帮助!
'use strict';
var sass = require('node-sass');
var dataTemp = '.red\n color: red';
var output = sass.renderSync({
data: dataTemp,
indentedSyntax: true,
outputStyle : 'compressed'
});
console.log(output.css.toString());
日志:“.red{color:red}”
我需要将 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..]
});
在对象内部您可以定义选项甚至函数。也许有没有办法在这样的函数中编译数据?
对于其他软件包还有其他解决方案或建议吗?
您的 SCSS 无效 - 您需要在属性周围提供 {}
:
'use strict';
var sass = require('node-sass');
var dataTemp = '.red {color: red}';
var output = sass.renderSync({
data: dataTemp
});
console.log(output.css.toString());
您可以使用 SassMeister
等在线工具验证您的 SASS/SCSS好吧,通过添加名为 'indentedSyntax' 的选项并将其设置为 'true',node-sass 也可以编译 .sass 代码。抱歉,应该更准确地阅读文档。感谢您的帮助!
'use strict';
var sass = require('node-sass');
var dataTemp = '.red\n color: red';
var output = sass.renderSync({
data: dataTemp,
indentedSyntax: true,
outputStyle : 'compressed'
});
console.log(output.css.toString());
日志:“.red{color:red}”