تنسيق الرسائل وتنسيقها في وحدة التحكّم

يوضّح لك هذا الدليل كيفية تنسيق الرسائل وتطبيق أنماط عليها في وحدة تحكّم أدوات مطوّري البرامج في Chrome. اطّلِع على بدء تسجيل الرسائل للتعرّف على كيفية تسجيل الرسائل في وحدة التحكّم.

يفترض هذا الدليل أنّك تفهم أساسيات تطوير الويب، مثل كيفية استخدام JavaScript لإضافة تفاعل إلى الصفحة.

تنسيق رسائل وحدة التحكّم

يمكنك استخدام محدّدات التنسيق لتنسيق رسائل وحدة التحكّم.

تبدأ محددات التنسيق بحرف النسبة المئوية (%) وتنتهي بـ "حرف النوع" الذي يشير إلى نوع البيانات (عدد صحيح أو عدد عشري أو غير ذلك).

على سبيل المثال،

  1. فتح وحدة التحكّم
  2. أدخِل الأمر التالي في وحدة التحكّم.

    const tools = 'Chrome DevTools';
    console.warn('%s is awesome.', tools);
    
  3. يعرض الأمر أعلاه رسالة Chrome DevTools is awesome.. قيمة سلسلة التنسيق

في ما يلي قائمة بمحددات التنسيق التي تتيحها Chrome DevTools حاليًا.

المحدّد الناتج
%s لتنسيق القيمة كسلسلة
%i أو %d لتنسيق القيمة كعدد صحيح
%f لتنسيق القيمة كقيمة نقطة عائمة
%o لتنسيق القيمة كعنصر DOM قابل للتوسيع
%O لتنسيق القيمة ككائن JavaScript قابل للتوسيع
%c تطبِّق قواعد نمط CSS على سلسلة الإخراج كما هو محدّد بالمَعلمة الثانية.

تطبيق محددات تنسيق متعددة

يمكنك استخدام أكثر من محدد تنسيق واحد في رسالة.

  1. أدخِل الأمر التالي في وحدة التحكّم.

    console.info('The total weight of %i %s and %d %s is %f grams.', 3, 'apples', 2, 'oranges', 432.4);
    
  2. يعرض الأمر أعلاه رسالة The total weight of 3 apples and 2 oranges is 432.4 grams.. محددات تنسيقات متعددة

فهم عمليات تحويل الأنواع

سيتم تحويل رسالة الإخراج وفقًا لمحدّد التنسيق.

  1. أدخِل الأمر التالي في وحدة التحكّم.

    console.log('I have %i apples and %d oranges.', 2, 3.5); 
    
  2. يعرض الأمر أعلاه رسالة I have 2 apples and 3 oranges.. تنسيق القيم الصحيحة

  3. بدلاً من تسجيل 3.5 oranges، يكون الناتج 3 oranges. يشير الرمز %d إلى أنّه يجب تحويل القيمة إلى عدد صحيح.

في ما يلي مثال على ما يحدث إذا كانت عملية تحويل النوع غير صالحة.

  1. أدخِل الأمر التالي في وحدة التحكّم.

    console.log('Jane has %i kiwis.', 'two');
    
  2. يعرض الأمر أعلاه رسالة Jane has NaN kiwis.. ظهور NaN في رسالة وحدة التحكّم

  3. يشير الرمز %i إلى أنّه يجب تحويل القيمة إلى عدد صحيح، ولكن الوسيطة هي سلسلة. وبالتالي، تعرض NaN (ليس رقمًا).

تصميم رسائل وحدة التحكّم

هناك طريقتان لتنسيق رسائل وحدة التحكّم في "أدوات مطوّري البرامج".

النمط مع محدّد التنسيق

يمكنك استخدام محدّد التنسيق %c لتصميم رسائل وحدة التحكّم باستخدام CSS.

  1. أدخِل الأمر التالي في وحدة التحكّم.

    const style = 'background-color: darkblue; color: white; font-style: italic; border: 5px solid hotpink; font-size: 2em;'
    console.log("%cHooray", style);
    
  2. ينتج عن الأمر أعلاه Hooray مع تطبيق أنماط CSS. إخراج الأنماط باستخدام CSS

أسلوب مع سلاسل الهروب ANSI

يمكنك استخدام تسلسلات الهروب ANSI لتنسيق رسائل وحدة التحكّم.

من الشائع أن يلوّن مطوّرو Node.js رسائل السجلّ من خلال تسلسلات الهروب ANSI، وغالبًا ما يتم ذلك بمساعدة بعض مكتبات الأنماط، مثل chalk وcolors وansi-colors وkleur.

ومع ذلك، يمكنك تصميم الرسالة باستخدام تسلسلات الهروب ANSI بدون استخدام أي مكتبات. في ما يلي بنية الجملة:

\x1B[𝘗1;…;𝘗nm

مع أطيب التحيّات،

  • 𝘗1 إلى 𝘗n هي تسلسلات فرعية صالحة لمَعلمات SGR (Select Graphic Rendition).
  • يمكن حذف أيّ من المَعلمات من 𝘗1 إلى 𝘗n، وفي هذه الحالة يفترض أن تكون قيمتها صفرًا.
  • \x1B[m هو اختصار \x1B[0m، حيث ستتم إعادة ضبط سمة العرض.

على سبيل المثال،

  1. أدخِل الأمر التالي في وحدة التحكّم.

    console.log('\x1B[41;93;4mHello\x1B[m');
    
  2. تؤدي التعليمة أعلاه إلى إنشاء رسالة Hello ذات خلفية حمراء ونص أصفر وخط تحته خط. مرحبًا

في ما يلي قائمة برموز الألوان المتوافقة في أدوات المطوّرين.

واجهة الخلفية مظهر فاتح مظهر داكن
30 40
#00000
#00000
31 41
#AA0000
#ed4e4c
32 42
#00AA00
#01c800
33 43
#AA5500
#d2c057
34 44
#0000AA
#2774f0
35 45
#AA00AA
#a142f4
36 46
#00AAAA
#12b5cb
37 47
#AAAAAA
#cfd0d0
90 100
#555555
#898989
91 101
#FF5555
#f28b82
92 102
#55FF55
#01c801
93 103
#FFFF55
#ddfb55
94 104
#5555FF
#669df6
95 105
#FF55FF
#d670d6
96 106
#55FFFF
#84f0ff
97 107
#FFFFFF
#FFFFFF

في ما يلي قائمة برموز الأنماط المتوافقة في أدوات المطوّرين.

المَعلمات المعنى
0 إعادة ضبط جميع سمات العرض
1 font-weight: bold
2 font-weight: lighter
3 font-style: italic
4 إضافة underline إلى الموقع الإلكتروني text-decoration
9 إضافة line-through إلى الموقع الإلكتروني text-decoration
22 إعادة ضبط سمة font-weight
23 إعادة ضبط سمة font-style
24 إزالة underline من الموقع الإلكتروني text-decoration
29 إزالة line-through من الموقع الإلكتروني text-decoration
38;2;𝑅;𝐺;𝐵 color: rgb(𝑅,𝐺,𝐵)
39 إعادة ضبط "color property"
48;2;𝑅;𝐺;𝐵 background: rgb(𝑅,𝐺,𝐵)
49 إعادة ضبط "background property"
53 إضافة overline إلى الموقع الإلكتروني text-decoration
55 إزالة overline من الموقع الإلكتروني text-decoration

في ما يلي مثال آخر أكثر تعقيدًا يتضمّن تنسيقات متعددة.

  1. أدخِل الأمر التالي في وحدة التحكّم.

    const hello = '\x1B[41;93;4mHello';
    const space = '\x1B[m ';
    const world = '\x1B[34;102;9mWorld';
    
    console.log(hello + space + world);
    
  2. يُنشئ الأمر أعلاه رسالة Hello World بأنماط مختلفة. مرحبًا بالعالم