2017-09-25 10 views
0

自分のプロセス(webpack、nodemon-restart)を1つのgulpコマンドで動作させようとしています。これで十分です。しかし、webpackは、そのタスクがgulpのデフォルトタスク(nodemonと一緒に)またはnodemonのgulpタスクに組み込まれている場合にのみ1回しか構築されません。gulp watchとバインドされたときにノードダストがクラッシュし、2回以上再起動しました

次に、webpackビルドタスクとnodemonリスタートタスクをgulpのwatchコマンドに結びつけることにしました。変更を加えて2回以上保存すると、アプリケーションのnodemonがクラッシュしてこれを表示するコンソール溶液として

"/home/nnanyielugo/Workspace/activity-calendar/node_modules/nodemon/lib/monitor/match.js:132 
    var rules = monitor.sort(function (a, b) { 
        ^
    TypeError: Cannot read property 'sort' of undefined" 

の誤差は、私は、.on()メソッドを使用してnodemon再開にWebPACKのビルドタスクを結びつけることを試み、その代わりに再構築(nodemonが最初に再起動再起動の無限ループを持ってwebpackのビルド、nodemonの再起動、webpackの再構築、onとon)。

誰もが解決策をしてください持っていますか?ここでは `

は私が推測する私のコード`

var gulp = require('gulp'), 
 
    nodemon = require('gulp-nodemon'), 
 
    webpack = require('webpack-stream'); 
 

 

 
gulp.task('default', ['watch']); 
 

 
gulp.task('webpack', function() { 
 
    return gulp.src('src/entry.js') 
 
    .pipe(webpack(require('./webpack.config.js'))) 
 
    .pipe(gulp.dest('./public')); 
 
}); 
 

 
gulp.task('nodemon', function() { 
 
    return nodemon({ 
 
     script: 'app.js' 
 
    , ext: 'js html' 
 
    , env: { 'NODE_ENV': 'development' } 
 
    })  
 
}) 
 

 
gulp.task('watch', function(){ 
 
    gulp.watch(['./api/**/*.js', './server/**/*.js', './*.js'], ['webpack', 'nodemon']); 
 
})`

答えて

0

のサンプルである、あなたのnodemongulp's時計のタスクが互いに衝突します。どちらの場合でもnodemonを使用し、gulpに依存してアプリケーションを起動する必要があります。

さもないと、あなたは、このことができます

nodemon({ 
    // script goes here. 
}).on('restart', your_reload_logic) 

希望をごgulp's時計のタスクを取り除くと、このようなあなたのnodemonrestart方法に関連するスクリプトを追加得ることができます!

+0

nodemonの再起動メソッドでwebpackのtranspilerコマンド 'webpack'を追加すると、nodemonが再起動ループに入ります。 – Nnanyielugo

関連する問題