41

エラー メッセージが表示されると、時計は停止します。

stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
source string:51: error: invalid property name 

どうすれば実行を監視し続け、エラーがどこにあるかを教えてくれます。

grunt はエラーを処理でき、停止する必要はありません。

styleSheet.scss:41: error: invalid property name

そうしないと、エラーが発生したときにコマンドラインで「gulp」と入力し続ける必要があります。

4

4 に答える 4

6

gulp "^2.0.0" では、このオプションerrLogToConsoleは機能しなくなります。代わりgulp-sassに、内部で使用するエラー ログ コールバックが組み込まれていますgulp-util。また、gulp にはエラー時にプロセスを強制終了するという問題があるため、使用している場合はhttps://github.com/gulpjs/gulp/issues/259#issuecomment-55098512watchを呼び出す必要があります。this.emit('end')

var sass = require('gulp-sass');

//dev
sass(config.sassDev)
  .on('error', function(err) {
     sass.logError(err);
       this.emit('end'); //continue the process in dev
     })
)

//prod
sass(config.sassProd).on('error', sass.logError)
于 2015-06-09T20:17:34.693 に答える
2

Gulp 3 ユーザーへの警告:

gulp 2.xに関しては、上記の@dtotheftpソリューションが気に入りました。興味深いことに、Gulp3 では動作しません。少なくとも @3.9.1 では動作しません。

.on('error', function(err){
    sass.logError(err);
    this.emit('end'); //continue the process in dev
})

私を取得します

TypeError: this.emit is not a function
    at Function.logError (/depot/myproject/node_modules/gulp-sass/index.js:181:8)

苦情はthis.emit()gulpfileの彼からではなく、sass node-moduleから、したがって前の行から来ていることに注意してください。

これは私のために働く:

.on('error', function(err){
    gutil.log(err);
    this.emit('end');
})

私はすべてのエラー² を取得し、時計は決して終了しません;) (私はplumber()right afterも使用gulp.src()しています。これはそれを助けるかもしれません)。

(はい、sass.logErrorはgutilに基づいていると言われているため、修正は非常に非論理的である可能性があります...

—</p>

²何らかの理由で私のセットアップで以前にサイレントになった未定義のマクロでも。

于 2016-12-18T11:09:26.820 に答える