الأوامر
جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 4 من 33.
ستنفّذ الأداة عدة أشياء، وتوضح الكلمة الأولى أيّها.
يفكك إسناد المتغيرات من بنية البيانات الكلمة الأولى، ويجمع الباقي في مصفوفة:
// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
console.log(Number(rest[0]) * 2);
}تكون action الكلمة الأولى، وتحتوي rest على كل كلمة تليها. يعيد rest.join(' ') هذه الكلمات إلى سلسلة نصية واحدة. تحدد سلسلة من if وelse if ما يجب فعله. ويلتقط else أخير كل كلمة لم تخطط لها، بما في ذلك الأخطاء الإملائية.
التحدي
سهلستؤدي أداتك عدة مهام، والكلمة الأولى بعد node notes.js تحدد المهمة. وهي الآن تتعرف على أمرين، add وlist، وعلى ردٍّ لأي كلمة لا تعرفها.
- في
notes.js، استبدل سطري البداية كليهما. قسّم الكلمات التي تأتي بعدnode notes.jsإلى الأمر، وهو الكلمة الأولى، وبقية الكلمات، وهي كل كلمة أخرى. - اختر ما يجب فعله باستخدام سلسلة واحدة من
ifوelse ifوelseبحسب الأمر. يطبع كل أمر سطرًا واحدًا بالضبط:- يطبع
addالنصAdding:متبوعًا ببقية الكلمات، بعد وصلها بمسافات. يطبعnode notes.js add Buy milkالنصAdding: Buy milk. - يطبع
listالنصNo notes yet. لم تُحفَظ الملاحظات في أي مكان بعد؛ سيحدث ذلك في الفصل 3. - تطبع أي كلمة أولى أخرى النص
Unknown command:متبوعًا بتلك الكلمة الأولى فقط. يطبعnode notes.js remove 3النصUnknown command: remove، من دون3.
- يطبع
- يجب ألا يُطبع أي شيء آخر. إذا بقي سطر الدرس السابق الذي يطبع
Adding:خارج السلسلة، فسيُنفَّذ مع كل أمر، وسيطبعlistسطرين، وستفشل الاختبارات.
تنتهي الحالات الثلاث كلها بشكل طبيعي، برمز خروج 0. يحوّل الدرس التالي الأوامر غير المعروفة إلى أخطاء.
جرّب ذلك: اكتب كلًا مما يلي في المربع بعد $ node notes.js واضغط على Enter.
- يعرض
add Buy milkالنصAdding: Buy milk. - يعرض
listالنصNo notes yet. - يعرض
remove 3النصUnknown command: remove. - يعرض
List، بحرف L كبير، النصUnknown command: List. تقارن JavaScript النصوص حرفًا حرفًا، بما في ذلك الأحرف الكبيرة، لذا فإنListليسlist.
جرّب بنفسك
// تبدأ أداة الملاحظات الخاصة بك هنا.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
جميع دروس أساسيات Node.js
1تشغيل JavaScript على Node
مرحبًا يا Nodeقراءة الأمروسائط سطر الأوامرالأوامرتدرّب بنفسك: Playground لـ Express