Часы глотка выполняют задание только один раз - PullRequest
0 голосов
/ 05 сентября 2018

Я установил gulp-livereload для перезагрузки страниц после внесения изменений в файлы .js.

Вот код:

const gulp = require('gulp');
const livereload = require('gulp-livereload');


gulp.task('jsLiveReload', () => {
  gulp
    .src('/home/ksdmwms/Desktop/projs/others/tests/gulp_test/src/js/file.js')
    .pipe(livereload());
});


gulp.task('watchJsTest', function() {
    livereload.listen({
        reloadPage: 'http://localhost/projs/others/tests/gulp_test/src/index.html'
    });
    gulp.watch('/home/ksdmwms/Desktop/projs/others/tests/gulp_test/src/js/file.js', gulp.series('jsLiveReload'));
});

Так что его прослушивание меняется на file.js.

Когда я выполняю, я получаю это:

gulp watchJsTest
[14:05:40] Using gulpfile /opt/lampp/htdocs/projs/others/tests/gulp_test/gulpfile.js
[14:05:40] Starting 'watchJsTest'...
[14:05:46] Starting 'jsLiveReload'...
[14:05:46] /home/ksdmwms/Desktop/projs/others/tests/gulp_test/src/js/file.js reloaded.

Он перезагружается, только когда я сохраняю первые изменения, если я делаю другие изменения, но не перезагружаюсь.

Как я могу решить это?

Примечание: я использую расширение Chrome для livereload и Ubuntu 18.04

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Browser-sync> Gulp-live-reload

Браузер-Sync

const gulp = require('gulp')
const browserSync = require('browser-sync').create()

gulp.task('js', () => {
  return gulp.src([
      'Files1',
      'File2'
    ])
    .pipe(gulp.dest(''))
    .pipe(browserSync.stream())
})

gulp.task('serve', ['sass', 'js'], () => {
  browserSync.init({
    server: './src',
  })

  gulp.watch([
    'src/sass/*.scss',
    'src/js/*.js',
  ], ['sass', 'js'])

  gulp.watch('src/*.html').on('change', browserSync.reload)
})

gulp.task('default', ['serve'])

В задании на подачу, gulp.watch

0 голосов
/ 05 сентября 2018

Если gulp установлен в /home/ksdmwms/Desktop/projs/others/tests/gulp_test

Вы можете попробовать это:

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


gulp.task('jsLiveReload', function() {
  gulp.src('./src/js/**/*.js')
    .pipe(livereload());
  //.pipe(gulp.dest('')); 
});


gulp.task('watchJsTest', function() {
    livereload.listen({
        reloadPage: 'http://localhost/'
    });
    gulp.watch('./src/js/**/*.js', ['jsLiveReload']);
});

Подскажите, работает ли это :) Вы уже пробовали brwosersync ?

...