إنشاء تطبيق ويب Node.js وتوزيعه باستخدام Express

هام

تم الآن إهمال Cloud Services (كلاسيكي) للعملاء الجدد وسيتم استبعادها في 31 أغسطس 2024 لجميع العملاء. ينبغي أن تستخدم عمليات النشر الجديدة نموذج النشر الجديد القائم على Azure Resource Manager ‏‏Azure Cloud Services (الدعم الموسع).

يتضمن Node.js مجموعة الحد الأدنى من الوظائف في وقت التشغيل الأساسي. غالبا ما يستخدم المطورون وحدات نمطية غير تابعة ل Microsoft لتوفير المزيد من الوظائف عند تطوير تطبيق Node.js. في هذا البرنامج التعليمي، يمكنك إنشاء تطبيق جديد باستخدام الوحدة النمطية Express ، والتي توفر إطار عمل Model-View-Control لإنشاء تطبيقات ويب Node.js.

تظهر لقطة الشاشة التالية التطبيق المكتمل:

مستعرض ويب يعرض Welcome to Express في Azure

إنشاء مشروع الخدمة السحابية

إشعار

لإكمال هذا القسم بنجاح، ينبغي وجود تثبيت Node.js قيد التشغيل وSDK لـ Azure Node.js للنظام الأساسي.

نفذ الخطوات التالية لإنشاء مشروع خدمة سحابية جديد يسمى expressapp:

  1. من "قائمة ابدأ" أو "شاشة البدء"، ابحث عن Windows PowerShell. في قائمة البحث، انقر بزر الماوس الأيمن فوق Windows PowerShell، ثم حدد Run as administrator.

    أيقونة Azure PowerShell

  2. قم بتغيير الدلائل إلى دليل c:\node ثم أدخل الأوامر التالية لإنشاء حل جديد يسمى expressapp ودور ويب يسمى WebRole1:

    PS C:\node> New-AzureServiceProject expressapp
    PS C:\Node\expressapp> Add-AzureNodeWebRole
    PS C:\Node\expressapp> Set-AzureServiceProjectRole WebRole1 Node 0.10.21
    

    إشعار

    بشكل افتراضي، يستخدم Add-AzureNodeWebRole إصدار أقدم من Node.js. يوجه سطر Set-AzureServiceProjectRole السابق Azure لاستخدام v0.10.21 من العقدة. لاحظ أن المعلمات حساسة لحالة الأحرف. يمكنك التحقق من أن الإصدار الصحيح من Node.js قد تم تحديده عن طريق التحقق من خاصية المحركات في WebRole1\package.json.

تثبيت Express

  1. تثبيت مولد Express بإصدار الأمر التالي:

    PS C:\node\expressapp> npm install express-generator -g
    

    تظهر لقطة الشاشة التالية إخراج أمر npm. يجب أن يبدو الإخراج مشابها.

    Windows PowerShell عرض إخراج الأمر تثبيت npm express.

  2. تغيير الدلائل إلى الدليل WebRole1 واستخدام الأمر السريع لإنشاء تطبيق جديد:

    PS C:\node\expressapp\WebRole1> express
    

    للمتابعة، أدخل y أو yes عند مطالبتك بالكتابة فوق التطبيق السابق. ينشئ Express ملف app.js وبنية مجلد لإنشاء التطبيق الخاص بك.

    إخراج أمر express

  3. لتثبيت التبعيات الأخرى المعرفة في ملف package.json، أدخل الأمر التالي:

    PS C:\node\expressapp\WebRole1> npm install
    

    إخراج أمر تثبيت npm

  4. استخدم الأمر التالي لنسخ الملف bin/www file إلى server.js. تسمح هذه الخطوة للخدمة السحابية بالعثور على نقطة الإدخال لهذا التطبيق.

    PS C:\node\expressapp\WebRole1> copy bin/www server.js
    

    بعد اكتمال هذا الأمر، يجب أن يكون لديك ملف server.js في الدليل WebRole1.

  5. تعديل server.js لإزالة أحد الأحرف '.' من السطر التالي.

    var app = require('../app');
    

    بمجرد إجراء هذا التعديل، يجب أن يظهر السطر كما يلي:

    var app = require('./app');
    

    هذا التغيير مطلوب لأننا نقلنا الملف (المعروف سابقا bin/www) إلى نفس الدليل كملف التطبيق المطلوب. بعد إجراء هذا التغيير، حفظ الملف server.js.

  6. استخدم الأمر التالي لتشغيل التطبيق في محاكي Azure:

    PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
    

    صفحة على شبكة الإنترنت تحتوي على ترحيب للتعبير.

تعديل طريقة العرض

الآن قم بتعديل طريقة العرض لعرض الرسالة "مرحبا بك في Express في Azure."

  1. أدخل الأمر التالي لفتح الملف index.jade:

    PS C:\node\expressapp\WebRole1> notepad views/index.jade
    

    محتويات الملف index.jade.

    Jade هو محرك العرض الافتراضي المستخدم من قبل تطبيقات Express.

  2. تعديل السطر الأخير من النص عن طريق الإلحاق في Azure.

    ملف index.jade، يقرأ السطر الأخير: p Welcome to #{title} in Azure

  3. احفظ الملف واخرج من Notepad.

  4. للاطلاع على التغييرات التي أجريتها، قم بتحديث المستعرض.

    نافذة مستعرض، تحتوي الصفحة على Welcome to Express في Azure

بعد اختبار التطبيق، استخدم cmdlet Stop-AzureEmulator لإيقاف المحاكي.

نشر التطبيق إلى Azure

في إطار Azure PowerShell، استخدم cmdlet Publish-AzureServiceProject لتوزيع التطبيق إلى خدمة سحابية

PS C:\node\expressapp\WebRole1> Publish-AzureServiceProject -ServiceName myexpressapp -Location "East US" -Launch

بمجرد اكتمال عملية النشر، يفتح المستعرض ويعرض صفحة الويب.

مستعرض ويب يعرض صفحة Express. يشير عنوان URL إلى أنه مستضاف الآن على Azure.

الخطوات التالية

لمزيد من المعلومات، راجع Node.js Developer Center.