🔹 مراحل ایجاد پروژه Gulp:
- با دستور npm init یک فایل package.json ساخته شد که اطلاعات پروژه را نگهداری میکند (مثل name، version، author و ...).
- مقدار "type" روی "commonjs" تنظیم شد چون پروژه از ماژولهای CommonJS استفاده میکند.
سپس با دستور زیر Gulp به عنوان وابستگی توسعه (dev dependency) نصب شد:
npm install --save-dev gulp- بعد از نصب، پوشهی node_modules و فایل package-lock.json به پروژه اضافه شدند.
🔹 ایجاد فایل gulpfile.js:
برای تعریف تسکها (Tasks)، فایلی با نام gulpfile.js ساخته شد:
touch gulpfile.js
🔹 نوشتن اولین تسک در gulpfile.js:
در این فایل اولین تسک (کار خودکار) با نام msg تعریف شد 👇
const gulp = require("gulp");
// print Msg
gulp.task("msg", async function () {
return console.log("This Is My First Task With Gulp!!!");
});
🧩 توضیح کد:
- require("gulp") ⇒ فراخوانی پکیج Gulp برای استفاده در فایل.
- gulp.task("msg", ...) ⇒ تعریف یک تسک جدید با نام msg.
- داخل تابع، یک پیام در کنسول چاپ میشود.
- async باعث میشود تسک بهدرستی پایان یابد و خطای “Did you forget to signal async completion?” رخ ندهد.
🔹 اجرای تسک در ترمینال:
برای اجرای تسک از دستور زیر استفاده شد:
gulp msgدر اولین اجرا خطای زیر ظاهر شد:
Did you forget to signal async completion?علتش نبودن علامت پایان async یا return در تسک بود.
پس از اصلاح و استفاده از async و return، تسک با موفقیت اجرا شد و پیام زیر چاپ شد:
This Is My First Task With Gulp!!!
🔹 نصب Gulp بهصورت Local و Global:
Gulp را میتوان به دو شکل نصب کرد:
📦 1. نصب محلی (Local)
- مخصوص هر پروژه است و فقط داخل همان پوشهی پروژه در دسترس خواهد بود.
- این روش برای همهی پروژهها توصیه میشود.
دستور نصب:
npm install --save-dev gulp- محل نصب: داخل پوشهی node_modules همان پروژه.
- در زمان اجرا از gulp محلی استفاده میشود که در مسیر پروژه نصب شده است.
🌍 2. نصب سراسری (Global)
- باعث میشود دستور gulp در تمام سیستم (ترمینال) شناخته شود.
- معمولاً فقط برای اجرای gulp از خط فرمان یکبار روی سیستم نصب میشود.
دستور نصب:
npm install --global gulp-cli- نکته: این نسخه فقط ابزار خط فرمان Gulp را نصب میکند، نه خود gulp اصلی پروژه.
📘 نکته:
- فایل gulpfile.js مرکز اصلی تعریف و مدیریت تسکها در پروژه است.
برای اجرای هر تسک کافی است در ترمینال بنویسیم:
gulp <taskname>مثال:
gulp msg