Menu
CoddyTech

الصادرات الافتراضية

جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 8 من 33.

يضيف هذا الدرس الملف store.js، وهو ملف يتناول شيئًا واحدًا: المتجر الذي يحتفظ بملاحظاتك. يصدّر ملف كهذا ذلك الشيء بوصفه تصديرًا افتراضيًا، ويختار الملف الذي يستورده أي اسم له.

تحدّد export default القيمة الوحيدة التي يتناولها الملف. ويمنحها الملف المستورِد أي اسم، ولا يكتب أقواسًا معقوفة:

// config.js
const config = { port: 3000 };
export default config;

// app.js
import settings from './config.js';
console.log(settings.port);

تُستخدم الأقواس المعقوفة لطلب تصدير مُسمّى، لذا يفشل import { config } from './config.js' هنا: لا يصدّر config.js أي اسم. استخدم تصديرًا افتراضيًا للقيمة الرئيسية في الملف، وتصديرات مُسمّاة لملف يضم دوال مساعدة.

challenge icon

التحدي

سهل

تحتاج ملاحظاتك إلى مكان واحد تحفظها فيه. يحتفظ الملف الجديد store.js بها في كائن store، الذي يبدأ بثلاث ملاحظات في store.notes. شارك هذا المخزن مع notes.js، واستخدمه في add وlist.

  1. في store.js، اجعل store التصدير الافتراضي للملف. يحدد التعليق في الأسفل الموضع.
  2. في notes.js، استورد المخزن في الأعلى، بجانب استيراد formatNote. لا يحتوي الاستيراد الافتراضي على أقواس معقوفة.
  3. في فرع add، أضف الملاحظة باستخدام store.add(text). تعيد هذه الدالة رقم الملاحظة الجديدة. اطبع Adding: متبوعًا بالملاحظة، منسقةً باستخدام ذلك الرقم. يبدأ المخزن بثلاث ملاحظات، لذا يطبع node notes.js add Buy bread ما يلي:
    Adding: 4. Buy bread
  4. في فرع list، أبقِ العنوان Notes for .... وتحته، استبدل No notes yet بكل ملاحظة في المخزن، بحيث تظهر كل واحدة في سطر، وتُنسق باستخدام formatNote وتُرقم بدءًا من 1. يطبع node notes.js list ما يلي:
    Notes for you
    1. Buy milk
    2. Call Ada
    3. Water the plants
    إذا لم يحتوِ المخزن على أي ملاحظات، فاطبع No notes yet أسفل العنوان مع ذلك.

جرّب ذلك: اكتب add Buy bread في المربع بعد $ node notes.js واضغط على Enter. سترى Adding: 4. Buy bread. ثم اكتب list: سترى الملاحظات الثلاث التي بدأ بها المخزن، لكنك لن ترى Buy bread. يُحفظ المخزن في الذاكرة، لذا تبدأ كل مرة تشغيل من جديد بالملاحظات الثلاث الموجودة في store.js. يحفظ الفصل 3 الملاحظات في ملف.

جرّب بنفسك

// تبقى الملاحظات هنا حتى يحفظها الفصل 3 في ملف.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

// اجعل store التصدير الافتراضي لهذا الملف.

جميع دروس أساسيات Node.js

تدرّب بنفسك: Playground لـ Express