#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. Кроме того, если вы хотите отладить веб-приложение, выполните следующие действия :
-
Перейдите к своему веб-приложению в Azure
-
В меню слева, в разделе Средства разработки, выберите либо
a. Консоль (это открывает cmd в корне сайта D:homesitewwwroot там есть dir для отладки и проверки ваших файлов)
б. Расширенные инструменты (это более полный и пользовательский интерфейс, показывающий все ваши файлы и т. Д. Вы также можете выбрать cmd, нажав на «Консоль отладки» в верхнем меню)
Комментарии:
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
Создайте новую группу ресурсов и план обслуживания приложений
Ответ №3:
Моя проблема заключалась в выборе стека времени выполнения при создании веб-приложения в Azure, что я сделал заранее, а не на лету, во время публикации; я должен был выбрать Node (V12).