Я пытался развернуть мое гнездо js API на azure со вчерашнего дня и не удалось. Сначала я пытался преобразовать его в linux план облачного сервиса и смог развернуть его по сравнению с кодом; в журналах azure было показано, что приложение было успешно запущено, но оно не вернуло никаких данных. от моих конечных точек и после некоторого копания я продолжал видеть некоторые отказы контейнера. Я попытался устранить неполадки, которые некоторое время назад решили, что вместо этого я попытаюсь настроить его в службе приложений windows.
Следуя этому руководству: https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs, я переместил свое гнездовое приложение js в службу приложений azure на windows и снова оно не сработало. Я снял репозиторий в этой статье, чтобы сравнить его с моим, и у них есть точка входа в web.config для приложения nodejs, указывающая на индекс. js. Этот индекс. js не существует в моем приложении nest js, и я провел некоторое исследование и обнаружил, что точка входа для приложения nest js после того, как все скомпилировано, является главной. js. Есть еще одно отличие в этом примере проекта и моего приложения nest js в том, что основной файл nest js приложения. js, кажется, находится в папке dist, а не в root пути wwwroot ,
В моем гнезде js приложение явно не содержало web.config из коробки, поэтому я создал его, используя в качестве примера репозиторий hello world. Я обновил путь iisnode к dist / main. js и путь перезаписи к тому же пути / файлу, поскольку это единственное, что я могу думать.
Единственный другой подстановочный знак - версия узла номер, который я изменяю в azure для настройки приложения WEBSITE_NODE_DEFAULT_VERSION ... Я не уверен, что это должно быть для моего гнезда js приложения. Моя текущая локальная версия - 12.16.2, но когда я меняю версию на azure, она не работает.
Я не уверен, что еще можно попробовать здесь - я бы неплохо попытался go вернуться к linux, если бы мог решить проблему с контейнером docker, но это казалось тупиком , Я думаю, что мне, скорее всего, повезет, если я продолжу идти по маршруту windows, если я смогу просто заставить эту вещь web.config / version работать.
is main. js в папке dist, где я должен указывать мой web.config? Есть ли максимальное ограничение версии на azure? Могу ли я что-то пропустить?
РЕДАКТИРОВАТЬ: После включения потоковых журналов - я вижу это исключение
SyntaxError: Использование const в строгом режиме. в Module._compile (module. js: 434: 25) в Object .. js (module. js: 464: 10) в Module.load (module. js: 353: 31) в Function ._load (module. js: 311: 12) в Module.require (module. js: 359: 17) по требованию (module. js: 375: 17) в Object. (D: \ Program Files (x86) \ iisnode \ interceptor. js: 459: 1) в Module._compile (модуль. js: 446: 26) в Object .. js (module. js : 464: 10) в Module.load (module. js: 353: 31)
после некоторого поиска в Google, я обнаружил, что исключение было распространено в более старых версиях узла (<4) , Я намного выше этой версии, и у меня azure установлена версия, намного превосходящая эту. </p>