Node.js Express Web App работает на локальном хостинге, но не при публикации в Azure

#node.js #visual-studio #azure #express

#node.js #visual-studio #azure #экспресс

Вопрос:

Я создал базовую Azure Node.js Приложение Express 4 в Visual Studio, которое отлично работает локально. Но если я опубликую его в Azure, на веб-странице просто отобразится общая ошибка 500. Как мне узнать, что происходит? Предположительно, в развернутом приложении чего-то не хватает? Этот тест в значительной степени используется по умолчанию из коробки, в качестве проверки концепции. Любая помощь приветствуется.

Комментарии:

1. Действительно сложно помочь вам без какого-либо кода, связанного с вашей проблемой. Ошибка кода 500 связана с конфигурацией вашего сервера.

Ответ №1:

Могу ли я получить больше контекста для этого? вы публикуете его в веб-приложении Azure? или разместить его на виртуальной машине Azure? Если это веб-приложение? какую ОС вы используете Windows или Linux? У меня были проблемы, когда мой node.js приложение работает в Windows, но не работает в Linux. Кроме того, если вы хотите отладить веб-приложение, выполните следующие действия :

  1. Перейдите к своему веб-приложению в Azure

  2. В меню слева, в разделе Средства разработки, выберите либо

    a. Консоль (это открывает cmd в корне сайта D:homesitewwwroot там есть dir для отладки и проверки ваших файлов)

    б. Расширенные инструменты (это более полный и пользовательский интерфейс, показывающий все ваши файлы и т. Д. Вы также можете выбрать cmd, нажав на «Консоль отладки» в верхнем меню)

Веб-консоль apa

Расширенные инструменты веб-приложения

Kudu

Комментарии:

1. Спасибо за ответ Rimaz; вот что я делаю: я создал веб-приложение Azure, .NET runtime stack. Я создал «Базовую Azure Node.js Приложение Express 4» в Visual Studio и опубликовал его — без изменений — в Azure. Он отлично работает на локальном хостинге, но — согласно выше — не при публикации. Кроме того, извините, я не понимаю, как использовать консоль в Azure для просмотра журнала консоли; чего мне не хватает?

2. Некоторый прогресс: найден журнал: Пн Окт 05 2020 17:21:58 GMT 0000 (Всемирное координированное время): приложение выдало неперехваченное исключение и завершается: SyntaxError: неожиданный токен { в Module._compile (module.js:434:25) в Object..js (module.js:464: 10) в модуле. загрузка (module.js:353:31) в функции. _load (module.js:311:12) в Module.require (module.js:359:17) в require (module.js:375:17) в Object.<анонимный> (D:Program Файлы (x86) iisnode interceptor.js:459:1) в модуле._compile (module.js:446:26) в Object..js (module.js:464:10) …

3. Дополнительные соображения: некоторые пользователи сообщали о подобных проблемах вплоть до версии node.js ; локально, node -version выдает 12.18.3; на сервере (консоли) он выдает 0.10.40 — разве это не актуально?

Ответ №2:

Поэтому я создал аналогичный «Базовый Azure Noge.js Приложение Express 4» с использованием Visual Studio, затем опубликовал проект в Azure непосредственно из VS. Похоже, что все работает нормально. Как вы опубликовали свое веб-приложение? это через VS или CICD? Также просто сравните конфигурации вашего веб-приложения с моими (последнее изображение внизу). Может помочь вам

Скриншоты ниже для справки :

Создайте базовую Azure Node.js Экспресс-приложение

Запуск на локальном хостинге

Щелкните правой кнопкой мыши по проекту и выберите «Опубликовать»

Выберите службу приложений Azure

Создайте новую группу ресурсов и план обслуживания приложений

Добавить веб-приложение

Запуск приложения в Azure

Конфигурация веб-приложения в Azure

Ответ №3:

Моя проблема заключалась в выборе стека времени выполнения при создании веб-приложения в Azure, что я сделал заранее, а не на лету, во время публикации; я должен был выбрать Node (V12).