دليل Chalk لجافا سكريبت (Node.js): شامل مع أمثلة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ما هي مكتبة Chalk ولماذا تحتاجها؟

Chalk هي واحدة من أشهر مكتبات Node.js، مصممة لتنسيق وتلوين المخرجات في الطرفية (الكونسول). إذا سبق لك أن كتبت console.log() وتمنيت أن يكون النص ملونًا، عريضًا، تحته خط، أو وامضًا — فإن Chalk تحل هذه المشكلة بأناقة وسهولة.

لماذا تحتاج إليها؟ في المشاريع الحقيقية، المخرجات الملونة تساعدك على:

  • فصل السجلات بصريًا (الأخطاء باللون الأحمر، التحذيرات بالأصفر، النجاح بالأخضر).
  • تحسين تجربة المستخدم لأدوات سطر الأوامر والبرامج النصية.
  • لفت الانتباه إلى الرسائل المهمة.
  • جعل المخرجات أكثر قابلية للقراءة في السجلات الطويلة.

Chalk لا تعتمد على أي مكتبات خارجية، تعمل بسرعة، وتدعم ربط الدوال (chaining). كما أنها تكتشف تلقائيًا ما إذا كانت الطرفية تدعم الألوان، وتقوم بتعطيل التنسيق إذا لزم الأمر (مثلًا عند توجيه المخرجات إلى ملف).

التثبيت

يتم توزيع Chalk عبر npm. قم بتثبيتها في مشروعك:

npm install chalk

إذا كنت تستخدم yarn:

yarn add chalk

بعد التثبيت، قم باستيراد المكتبة في البرنامج النصي الخاص بك:

const chalk = require('chalk');

للمشاريع التي تستخدم وحدات ES (type: "module" في ملف package.json)، يكون الاستيراد كالتالي:

import chalk from 'chalk';

هام: بدءًا من الإصدار Chalk 5.0، أصبحت المكتبة مخصصة لوحدات ES فقط (ESM-only). إذا كنت تستخدم CommonJS (require)، فقم بتثبيت الإصدار 4.x:

npm install chalk@4.1.2

بداية سريعة

لنجرب المثال الأول. أنشئ ملفًا باسم example.js واكتب فيه:

const chalk = require('chalk');

console.log(chalk.blue('مرحبًا بالعالم!'));
console.log(chalk.red.bold('خطأ!'));
console.log(chalk.green.underline('نجاح'));
console.log(chalk.yellow.bgBlue('نص أصفر على خلفية زرقاء'));

قم بتشغيله:

node example.js

سترى مخرجات ملونة. إذا لم تظهر الألوان، تأكد من أن الطرفية لديك تدعم ألوان ANSI (جميع الطرفيات الحديثة تدعمها).

الطرق والوظائف الأساسية

توفر Chalk نوعين من واجهات API: طرق التعديل (أنماط النص) و طرق الألوان (لون النص والخلفية). يمكن دمجها جميعًا عبر ربط الدوال.

1. chalk.red() — لون النص الأحمر

الوظيفة: تلوين النص باللون الأحمر. يُستخدم غالبًا لرسائل الأخطاء.

المعاملات: تقبل سلسلة نصية واحدة أو عدة سلاسل (سيتم دمجها بمسافة).

console.log(chalk.red('خطأ: الملف غير موجود'));
console.log(chalk.red('خطأ', 'نظامي', 'حرج')); // سيتم الدمج بمسافة

2. chalk.green() — لون النص الأخضر

الوظيفة: تلوين النص باللون الأخضر. يُستخدم لرسائل النجاح.

المعاملات: مماثلة لـ red.

console.log(chalk.green('تمت العملية بنجاح'));
console.log(chalk.green('✓', 'تم'));

3. chalk.blue() — لون النص الأزرق

الوظيفة: تلوين النص باللون الأزرق. يُستخدم غالبًا للرسائل المعلوماتية.

المعاملات: سلسلة نصية أو عدة سلاسل.

console.log(chalk.blue('معلومات: الإصدار 2.0.1'));

4. chalk.yellow() — لون النص الأصفر

الوظيفة: تلوين النص باللون الأصفر. يُستخدم تقليديًا للتحذيرات.

المعاملات: سلسلة نصية أو عدة سلاسل.

console.log(chalk.yellow('تحذير: شحن البطارية منخفض'));

5. chalk.bo

توصيات