Поделиться через


Создание и развертывание веб-приложения Node.js с использованием модуля Express в Облачных службах Azure (классические)

Внимание

Облачные службы (классическая версия) теперь устарела для всех клиентов с 1 сентября 2024 года. Все существующие запущенные развертывания будут остановлены и завершены корпорацией Майкрософт, и данные будут постоянно потеряны начиная с октября 2024 года. Для новых развертываний следует использовать Облачные службы Azure с расширенной поддержкой. Это новая модель развертывания на основе Azure Resource Manager.

Node.js включает минимальный набор функциональных возможностей в базовой среде выполнения. Разработчики часто используют модули, отличные от Майкрософт, для предоставления дополнительных функций при разработке приложения Node.js. В этом руководстве вы создадите приложение с помощью модуля Express , который предоставляет платформу Model-View-Control для создания Node.js веб-приложений.

На снимке экрана ниже показано готовое приложение:

Веб-браузер, отображающий приветствие модуля Express в Azure

Создание проекта облачной службы

Примечание.

Для успешного завершения этого раздела необходимо установить Node.js и пакет SDK для Azure для вашей платформы.

Выполните следующие действия, чтобы создать новый проект облачной службы с именем expressapp:

  1. В меню Пуск или на начальном экране найдите Windows PowerShell. Щелкните правой кнопкой мыши Windows PowerShell и выберите Запуск от имени администратора.

    Значок 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 использовать версию 0.10.21 Node. Обратите внимание, что параметры зависят от регистра. Можно проверить, выбрана ли правильная версия Node.js, выбрав свойство engines в WebRole1\package.json.

Установка модуля Express

  1. Установите генератор Express, выполнив следующую команду:

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

    На следующем снимку экрана показаны выходные данные команды npm. Выходные данные должны выглядеть примерно так.

    Windows PowerShell с выходными данными команды npm install express.

  2. Перейдите в каталог WebRole1 и используйте команду express для создания нового приложения.

    PS C:\node\expressapp\WebRole1> express
    

    Чтобы продолжить, введите y или да , когда появится запрос на перезапись предыдущего приложения. Express создает файл app.js и структуру папок для создания приложения.

    Результат команды express

  3. Чтобы установить другие зависимости, определенные в файле package.json, введите следующую команду:

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

    Выходные данные команды npm install

  4. Скопируйте файл bin/www в 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.

Изменение представления

Теперь измените представление, чтобы отобразить сообщение "Добро пожаловать в Express в Azure".

  1. Чтобы открыть файл index.jade, введите следующую команду:

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

    Содержимое файла index.jade.

    Jade — это обработчик представлений по умолчанию, используемый приложениями Express.

  2. Измените последнюю строку текста, добавив слова in Azure.

    Файл index.jade, последняя строка содержит текст: p Welcome to #{title} in Azure.

  3. Сохраните файл и выйдите из Блокнота.

  4. Чтобы просмотреть изменения, обновите браузер.

    Окно браузера со страницей приветствия Express в Azure

После тестирования приложения остановите эмулятор с помощью командлета Stop-AzureEmulator .

Публикация приложения в Azure

В окне Azure PowerShell используйте командлет Publish-AzureServiceProject , чтобы развернуть приложение в облачной службе.

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

После завершения операции развертывания откроется браузер и отобразит веб-страницу.

Веб-браузер, отображающий страницу Express. URL-адрес показывает, что страница теперь размещается в Azure.

Следующие шаги

Дополнительную информацию см. в центре разработчиков Node.js.