2

gulp-notifyプラグインを使用しています。これは、gulpfile.js で実装する方法の例です (gutil と livereload も使用していることがわかります。それらが何らかの要因を果たしているかどうかはわかりませんが、そうである場合はお知らせください)。

gulp.task('js', function() {
  return gulp.src('./dev/scripts/*.coffee')
    .pipe(coffee({bare: true}).on('error', gutil.log))
    .pipe( gulp.dest('./build/js'))
    .pipe(notify('Coffeescript compile successful'))
    .pipe(livereload(server));
});

このプラグインは、OS X および Linux で動作します。通知機能がない Windows では、エラーが返され、gulp-watch プラグインが壊れます。これは、gulp-watch のセットアップ方法の例です。

gulp.task('watch', function () {
  server.listen(35729, function (err) {
    if (err) {
      return console.log(err);
    }
    gulp.watch('./dev/scripts/*.coffee',['js']);
  });
});

そのため、ドキュメントを読んで、gulp-pipe プラグインは、Windows で gulp-watch を壊さないようにするのに役立ちますが、このようなセットアップでそれを使用する方法の例を見つけることができません。

4

1 に答える 1

7

プラグインをnode モジュールと組み合わせて使用​​してgulp-if、Windows を使用しているかどうかを判断し、次のように除外できます。osgulp-notify

var _if = require('gulp-if');

//...

// From http://stackoverflow.com/questions/8683895/variable-to-detect-operating-system-in-node-scripts
var isWindows = /^win/.test(require('os').platform());

//...

     // use like so:
    .pipe(_if(!isWindows, notify('Coffeescript compile successful')))
于 2014-02-25T15:48:24.550 に答える