これは、現在プラグインgulp-runを使用している Gulp.js を使用して、libsass "sassc" バイナリ (以下に示す) を直接実行するためのセットアップです。私はノードやガルプの専門家ではないので、これはかなりの試行錯誤の末であり、まだいくつかの問題があります。
バイナリは通常、sassc
入力ファイルと出力ファイルの引数 (例: )を受け取りますが、accept の引数を指定して../bin/sassc file.scss > file.css
実行することもできるため、ここにあるファイルをそのまま渡すことができます。私が正しく理解すれば、これらの条件下では、その結果を として正常に渡すことができるようです。同じディレクトリに「test.css」というファイルが書かれています。gulp-run コマンドの「verbosity」設定をそのままにしないと、結果の CSS がターミナルに出力されることに注意してください。ここではそれが抑制され、結果がチェーンに渡されます。ただし、 gulp-autoprefixerなどのプロセスの追加に成功していないため、これでも適切な出力ストリームが作成されていないようです。-s
stdin
gulp.src()
stdout
この後インライン。さらに、stderr (存在する場合) をログ ファイルにキャプチャする方法が必要です (現在、コンソールに出力されるエラーがある場合)。
任意のガイダンスをいただければ幸いです。また、gulp-run で間違ったプラグインを使用している可能性もあります。gulp-execとgulp-shellもあり、おそらく他のものもありますが、どのような違いを探すべきか本当にわかりません。
var gulp = require('gulp');
var run = require('gulp-run');
var rename = require("gulp-rename");
gulp.task('sassc', function () {
gulp.src('test.scss')
.pipe(run('../bin/sassc -s', {verbosity: 1}))
.on('error', function (err) { this.end(); })
.pipe(rename(function (path) { path.extname = ".css"; }))
.pipe(gulp.dest('.'))
});
gulp.task('watch', function () {
gulp.watch('test.scss', ['sassc']);
});
gulp.task('default', ['watch']);