3
node.jsとnode-sassモジュールを使用してscssをコンパイルしようとしていますが、問題は私がscssコードを挿入するときに間違った構文。奇妙なのは、私が同じコードをファイルに入れ、* .scssファイルからコンパイルすると動作するということです。残念ながら、私のアプリケーションの性質上、文字列からコンパイルする必要があります。誰にでもいくつかのアイデアがありますか? ;)stringからnode.jsを含むscssをコンパイルします
これが動作するコードである:
var sass = require('node-sass');
/* test.scss content: $text-color:#555555;\nbody{background:$text-color;} */
var output = sass.render({
file: __dirname + '/test.scss',
indentedSyntax: true,
outputStyle : 'expanded'
}, function(err, result) {
if(err) console.log(err);
if(result) console.log(result, result.css.toString());
});
これはdoesntの一つである:
var sass = require('node-sass');
var dataTemp = '$text-color:#555555;\nbody{background:$text-color;}';
var output = sass.render({
data: dataTemp,
indentedSyntax: true,
outputStyle : 'expanded'
}, function(err, result) {
if(err) console.log(err);
if(result) console.log(result, result.css.toString());
});
official docデータからSCSSコードを使用して実施例を含んでいるので、それは奇妙に思えます。
それはスペースに何とか敏感だように見える: 'VAR dataTemp = '$のテキストの色を:#555555; \のnbody {背景:$テキストの色;}';' - このバリアントはこれがである私 – idmitme
の作品何らかの形で真実なので、基本的には、中括弧を開いた後に改行を使用するとエラーが発生します。すべての構文オプションで動作しません。そのような "選択的"な作業で、このようにしてもコードはテキストエリアに書き込まれません。それはそれのようにそれを処理することが不可能になります。誰かが新しい行や空白に敏感にならないようにする方法を知っているかもしれません –