נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

לחיצה חוזרת ונשנית על המקש Tab תעביר אתכם בין הקישורים והאזורים השונים בעמוד.

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

כיצד לטפל בשגיאות כשעובדים עם gulp?

מחבר:
בתאריך:

אחרי שבמדריכים קודמים בסדרה למדנו כיצד לדחוס ולקמפל קבצים של javascript ושל scss באמצעות חבילות של gulp במדריך זה נלמד כיצד להתמודד עם שגיאות בסקריפטים של javascript ושל scss שכתבנו, בכך שנקבל הודעת שגיאה שיכתבו לשורת הפקודות.

כיצד לקבל הודעת שגיאה לשורת הפקודות כשיש לנו שגיאה בסקריפטים שלנו שאנחנו מנסים לתעל באמצעות gulp

נתחיל בתזכורת.

במדריכים קודמים, פתחנו כבר קוד שמטפל בדחיסה וקומפילציה של קבצי js ו- :scss

/* gulpfile.js */

// Requirements
var gulp       = require('gulp'),
      uglify     = require('gulp-uglify'),
      sass      = require('gulp-sass'),
      rename = require('gulp-rename');

// Scripts task
gulp.task('scripts', function(){
	gulp.src(['app/src/js/*.js'])
		.pipe(uglify())
		.pipe(rename({
		  suffix: '.min'
		}))
	   .pipe(gulp.dest('app/js'));
});

// Sass task
gulp.task('sass', function(){
    gulp.src(['app/src/**/*.scss'])
		.pipe(scss())
	   .pipe(gulp.dest('app/css'));
});

// Watch task
gulp.task('watch', function(){
	gulp.watch('app/src/sass/*.js',['scripts']);
	gulp.watch('app/src/sass/*.scss',['sass']);
});

// Default task
gulp.task('default', ['scripts','sass','watch']);

 

הבעיה היא שבמידה וימצאו שגיאות בקוד שלנו, החבילות של gulp ייתקעו והטרמינל יפסיק לעבוד או ש- gulp פשוט יתעלם מהשינויים שערכנו בקוד.
כדי לפתור את הבעיה, אנחנו נוסיף לקובץ gulpfile.js פונקציה שתכתוב לטרמינל את השגיאות שעשינו בסקריפטים, ותעצור את gulp . שמה של הפונקציה errorLog() , ונקרא לה אחרי תהליכים שעלולה להתגלות בהם שגיאה. לדוגמה, אחרי ה- pipe שדוחס את הקבצים (ראה השורות המודגשות בקוד להלן).

/* gulpfile.js */

// Requirements
var gulp       = require('gulp'),
      uglify     = require('gulp-uglify'),
      sass      = require('gulp-sass'),
      rename = require('gulp-rename');

// Error log
function errorLog( error ) {
	console.log(error.toString());
	this.emit('end');
}

// Scripts task
gulp.task('scripts', function(){
	gulp.src(['app/src/js/*.js'])
		.pipe(uglify())
		.pipe(rename({
		  suffix: '.min'
		}))
               .on('error', errorLog)
	   .pipe(gulp.dest('app/js'));
});

// Sass task
gulp.task('sass', function(){
       gulp.src(['app/src/**/*.scss'])
		.pipe(scss())
               .on('error', errorLog)
	   .pipe(gulp.dest('app/css'));
});

// Watch task
gulp.task('watch', function(){
	gulp.watch('app/src/sass/*.js',['scripts']);
	gulp.watch('app/src/sass/*.scss',['sass']);
});

// Default task
gulp.task('default', ['scripts','sass','watch']);

במידה ומתגלה שגיאה בזמן ש- gulp מטפל בקבצים שלנו, הוא קורא לפונקציה errorLog שמדפיסה הודעות שגיאה לטרמינל, ומפסיקה את המשך עיבוד הקבצים על ידי gulp.

לסיכום

במדריך זה למדנו כיצד לטפל בשגיאות בקוד שכתבנו, ובמדריך הבא נלמד כיצד לכווץ תמונות באמצעות חבילות של gulp.

לכל מדריכי ה-gulp.js

הוסף תגובה חדשה

 

= 8 + 7