Cle*_*ler 1 css sass node.js node-sass
\n我需要将SASS和SCSS字符串编译为CSS项目的因此我\xc2\xb4m使用节点包node-sass。转换 SCSS 工作正常,但 SASS 不行。
SASS 的示例代码:
\n\n\'use strict\';\n\nvar sass = require(\'node-sass\');\n\nvar dataTemp = \'body{background:blue; a{color:black;}}\';\n\nvar output = sass.renderSync({\n data: dataTemp\n});\n\nconsole.log(output.css.toString());\nRun Code Online (Sandbox Code Playgroud)\n\n当我尝试转换这样的东西时,问题就来了,这应该是有效的 .sass 语法
\n\n\'use strict\';\n\nvar sass = require(\'node-sass\');\n\nvar dataTemp = \'.red\\n color: red\';\n\nvar output = sass.renderSync({\n data: dataTemp\n});\n\nconsole.log(output.css.toString());\nRun Code Online (Sandbox Code Playgroud)\n\n控制台输出:
\n\nError: Invalid CSS after ".": expected 1 selector or at-rule, was ".red color: red "\nRun Code Online (Sandbox Code Playgroud)\n\n显然,node-sass 无法以这种方式编译 .sass 代码。Node-sass 的语法是:
\n\nvar result = sass.renderSync({\n data: scss_content\n [, options..]\n});\nRun Code Online (Sandbox Code Playgroud)\n\n在对象内部,您可以定义选项甚至函数。也许有办法在这样的函数中编译数据吗?
\n\n对于其他软件包还有其他解决方案或建议吗?
\n通过添加名为“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());
Run Code Online (Sandbox Code Playgroud)
日志:“.red{颜色:红色}”
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |