Gulp-观看 Windows 7 期 - Node.js、NPM 和 Gulp 安装成功

Gulp-Watch on Windows 7 Issue - Node.js, NPM and Gulp installed successfully

我对使用 Node.js、NPM 和所有这些现代工具来提高生产力和工作流程非常陌生。

下面是详细信息:

 Node version - v8.10.0
 Gulp CLI version - 2.0.1
 Gulp Local version -  3.9.1
 NPM version - 5.6.0
 Windows 7
 Node.js installed in D:/ProgramFiles

我试过使用 gulp 并且它与这个脚本一起工作得非常好

var gulp = require('gulp'),
watch = require('gulp-watch');

gulp.task('default',function(){
console.log('Gulp task created');

});

gulp.task('html' , function() {
    console.log('Something useful here');

});

gulp.task('watch', function() {
    watch('/app/index.html', function() {
        gulp.start('html');
        });
});

因此键入 gulp 确实会使用默认任务消息进行响应。输入 gulp html 也会通过控制台消息进行响应。但是,当我键入 gulp watch 时,它确实可以使用以下输出。

 Starting 'watch'...
 Finished 'watch' after 7.99 ms

但是每当我进行更改并保存索引文件时,cmd 都不会更新。我试过使用 Git Bash 和其他终端。我什至安装了以前的节点版本,并尝试使用这些版本解决这个问题,但到目前为止还没有成功。

我尝试将依赖项编辑为旧版本,但这也不起作用。

如果你们中的任何人能提供帮助,我将不胜感激。

更新了回调方法以结束进程以正常退出并且不使用 CTRL-C。

gulp.task('watch',function(){
    gulp.watch('./data/index.html', function(){
    gulp.start(['someOtherGulpTask']);
    }); 
});
gulp.task('someOtherGulpTask', function () {
    gulp.src('./test/sometest.js')
        .pipe(gulpmocha(),setTimeout(function() {
        cb();
    }, 5000))
});
function cb(){
process.exit(1);
}

原回答如下

gulp 个任务的执行顺序是 -

  1. 先执行默认任务,然后执行后续任务,除非任务 在对 gulp 的 cmdline 调用中特别提到要执行 已经提到 - "gulp watch".
  2. 您可以在gulp文件的开头指定顺序,例如

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

  3. 或者,您可以像这样明确地开始一个任务,

    gulp.task('default',函数(完成){ console.log('Gulp task created'); gulp.start('watch'); 完毕(); });

done 是允许您等待任务完成的回调,它在您的 gulp 文件中缺失。下面是完整的 gulp 文件,您可以根据需要使用它来执行监视任务。

var gulp = require('gulp'),
watch = require('gulp-watch');

gulp.task('default',function(done){
console.log('Gulp task created');
gulp.start('watch');
done();
});

gulp.task('html' , function() {
    console.log('Something useful here');

});

gulp.task('watch', function() {
    watch('./data/index.html', function() {        
            console.log('Some changes done');
        });
});

gulp.task('watch', function () {
  gulp.watch('./data/index.html', ['html']);
});

避免gulp.start,没有记录或推荐。