GULP中的Ctrl+S之后,实时重新加载不起作用

Live reloading not working after Ctrl + S in GULP

本文关键字:加载 不起作用 新加载 Ctrl+S 中的 之后 实时 GULP      更新时间:2024-01-12

我不知道为什么那些实时重新加载的任务在上次Ionic Update之后就消失了。现在我正在尝试解决这个问题,但仍然想知道为什么不起作用。我在这里遵循这个指南,但仍然看不出我有什么错误。

查看我的gulpfile.js 的某些部分

var paths = {
  sass: ['/scss/**/*.scss'],
  js: ['www/js/*.js', 'www/js/**/*.js', '!www/js/lib.min.js', '!www/js/code.min.js']
};
gulp.task('compress-lib', function() {
  gulp.src([
    './www/lib/ionic/js/ionic.bundle.min.js'
  ])
    .pipe(concat('lib.min.js'))
    .pipe(gulp.dest('./www/js'))
});
gulp.task('compress-js', function() {
  gulp.src([
    './www/js/app.js',
    './www/js/lines/controller.js',
    './www/js/lines/service.js'
  ])
    .pipe(ngAnnotate())
    .pipe(concat('code.min.js'))
    .pipe(gulp.dest('./www/js'))
});
// JSHint task
gulp.task('lint', function() {
  gulp.src(paths.js)
      .pipe(jscs())
      .pipe(jshint())
      .pipe(jshint.reporter('default'));
});
gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass({onError: function(e) { console.log(e); } }))
    .pipe(autoprefixer('last 2 versions', 'Chrome', 'ios_saf','Android'))
    .pipe(gulp.dest('./www/css/'))
    .pipe(minifyCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});
gulp.task('watch', function() {
  gulp.watch(paths.sass, ['sass']);
  gulp.watch(paths.js, ['lint', 'compress-js']);
});

每次我对一个文件执行ctrl + s,在本例中为www/js/lines/controller.js,在控制台上,您都可以看到以下内容:

[14:41:11] Starting 'lint'...
[14:41:11] Finished 'lint' after 17 ms
[14:41:11] Starting 'compress-js'...
[14:41:11] Finished 'compress-js' after 5.31 ms
JS changed:   www/js/lines/controller.js
JS changed:   www/js/code.min.js

这意味着有些任务可以正常工作,但如果我想在视图中看到这些更改,我必须转到控制台并键入gulp,你知道为什么应用程序不在ctrl + s之后重新加载吗?

更新

这就是我试图实现的(你可以在我上面粘贴的链接上看到):

"监视任务用于在我们更改文件时运行任务。当您编写代码和修改文件时,gulp.watch()方法将侦听更改并自动再次运行我们的任务,这样我们就不必每次都连续跳回命令行并运行gulp命令"

我知道这是解决问题的方法,但使用实时服务器而不是实时重新加载,看看这是否有效。因为我在过去也遇到过很多实时重新加载的问题。

npm install live-server

然后:

live-server

注意:键入上面的命令时,请确保您位于项目的目录中。