2016-04-02 7 views
2

Ich versuche, meine Build-Flow mit Schluck und Nodemon zu erstellen. Das Ziel ist es, Sass-Dateien zu beobachten und sie zu css zu kompilieren, und auch die Knotenanwendung neu zu starten, wenn sich die Serverdatei ändert. Mein gulpfile.jsGulp-nodemon und Watch Aufgabe

:

gulp.task('sass', function(){ 
    return gulp.src(sassFilesTobeProcessed). 
    pipe(sass()). 
    pipe(concat('ready_stylesheet.css')). 
    pipe(gulp.dest('express/public/stylesheets')) 
}) 

gulp.task('watch', function(){ 
    return gulp.watch(allSassFiles, ['sass']); 
}) 

gulp.task('serve', function(){ 
    return nodemon({ 
    script: 'express/app.js', 
    }).on('start', ['watch']) 
    .on('change', ['watch']) 
    .on('restart', function(){ 
     console.log('restarted'); 
    }) 
}) 

Die Uhr Aufgabe fein arbeitet, werden die Dateien nach einer Änderung zusammengestellt. Aber Änderungen in meiner Serverdatei app.js lösen keinen Neustart des Servers aus. Wenn ich die .on Anweisungen kommentieren, fängt es an, gut zu funktionieren (Server lädt neu), aber dann werden natürlich sass Dateien nicht mehr beobachtet. Ich gehe daher davon aus, dass es einen Konflikt zwischen diesen beiden gibt, den ich nicht entdecken kann. Schätze jede Hilfe! Mein Betriebssystem - Windows 7, Knoten 4.2.6, 1.9.1 nodemon

Antwort

3

eine Aufgabe Abhängigkeit Verwenden Sie statt .on(event) Ihre watch Aufgabe zu starten:

gulp.task('serve', ['watch'], function(){ 
    return nodemon({ 
    script: 'express/app.js', 
    }) 
    .on('restart', function(){ 
    console.log('restarted'); 
    }) 
}) 
0

emittieren den Neustart Ereignis mit nodemon

const cfg = require('../config') 
const gulp = require('gulp') 
const nodemon = require('nodemon') 
const gnodemon = require('gulp-nodemon') 

gulp.task('nodemon', ['ts', 'json'],() => { 
    gnodemon({ 
    script: cfg.paths.main, 
    tasks: ['ts', 'json'], 
    ext: 'js', 
    watch: [cfg.paths.src], 
    // para no alterar el entorno de prodicion con test 
    env: {'NODE_ENV': process.env.NODE_ENV !== 'production' 
     ? process.env.NODE_ENV || 'development' : 'development'} 
    }) 
    .on('start', ['mocha']) 
}) 

gulp.task('default', ['nodemon'],() => { 
    gulp.watch(cfg.paths.src, (event) => nodemon.emit('restart')) 
})