⭐ مفاهیم اصلی این جلسه
- یادگیری انتقال فایلهای HTML از پوشه src به dist
- یادگیری بهینهسازی (Minify) تصاویر
- معرفی پلاگین مهم: gulp-imagemin
- اجرای Taskها برای اتوماسیون این کارها
📌 ۱. انتقال فایلها (Copy Files)
- برای انتقال فایلها از src به dist از ترکیب gulp.src() و gulp.dest() استفاده میکنیم.
- مثال این جلسه:
gulp.task("copyhtml", async function () {
return gulp.src("src/*.html").pipe(gulp.dest("dist"));
});
✔ این Task همه فایلهای HTML را از src/ میگیرد و در dist/ کپی میکند.
📌 ۲. نصب و استفاده از gulp-imagemin
- پلاگین رسمی برای کم کردن حجم تصاویر بدون افت کیفیت.
- نصب نسخه سازگار با CJS (چون نسخه جدید ESM بود و خطا میداد):
npm install gulp-imagemin@6.1.0
📌 ۳. بهینهسازی تصاویر (Minify Images)
- یک Task برای کاهش حجم تصاویر ساخته شد:
gulp.task("minify", () =>
gulp
.src("src/assets/img/*")
.pipe(imagemin())
.pipe(gulp.dest("dist/assets/img"))
);
✔ این Task تصاویر را دریافت میکند
✔ با imagemin() بهینه میکند
✔ در مسیر خروجی قرار میدهد
📌 4. نکات مهم جلسه
- نسخههای جدید gulp-imagemin با require ناسازگار هستند و باید نسخه 6.1.0 نصب شود.
- Taskها باید return داشته باشند یا از Arrow Function استفاده شود.
- ساختار پوشه پروژه اهمیت دارد:
- src/ → ورودی
- dist/ → خروجی