كيف يمكنك استدعاء المهام في gulp مع إعادة التحميل المباشر - بعد حدوث تغييرات في الملف
-
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']);
});
لا تنتمي إلى StackOverflow