كيف يمكنك استدعاء المهام في gulp مع إعادة التحميل المباشر - بعد حدوث تغييرات في الملف

StackOverflow https://stackoverflow.com//questions/25025108

  •  21-12-2019
  •  | 
  •  

سؤال

لقد حددت في ملف gulp المهمة التالية:

gulp.task('watch:livereload', function(){
  livereload.listen();
  gulp.watch('app/**').on('change', livereload.changed);
});

وهو ما أدركت مؤخرًا أنه رائع فقط للأشياء الثابتة مثل html.لأنني أستخدم sass والتطبيق هو js في المقام الأول.أرغب في استدعاء بعض المهام التي قمت بتحديدها مسبقًا لإعادة ترجمة js وcss عند حدوث أي تغيير فيها.

الطريقة التي كنت أتصل بها بالمهام هي من خلال:

gulp.task('compile:development',
  [
    'bower',
    'compile:scripts:development',
    'compile:sass:development',
    'serve',
    'watch:livereload'
  ]
);

لكني أريد أن تحدث المهام عند التغيير.أفكار؟

هل كانت مفيدة؟

المحلول

يجب عليك الاستمرار في استخدام livereload تمامًا كما تفعل أنت، لأغراض تحديث المتصفح.إذا كنت تريد إعادة تشغيل بعض المهام عند التغيير، فأعتقد ذلك gulp.watch هي الطريقة البسيطة والمدمجة.

gulp.watch('app/**', ['compile:development']);

أو مهام أكثر تحديدا:

gulp.watch('app/**', ['compile:scripts:development', 'compile:sass:development']);

مثال أ watch المهمة التي تحدد بعض watchers مع مختلف tasks :

gulp.task('watch', function () {
   gulp.watch('app/sass/*', ['compile:sass:development']);
   gulp.watch('app/js/*', ['compile:scripts:development']);
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top