#reactjs #azure #azure-web-app-service
#reactjs #лазурный #azure-веб-приложение-сервис
Вопрос:
Сегодня я развернул свое клиентское приложение react в службе приложений Azure. Проблема в том, что вместо отображения интересующего меня сайта он возвращает структуру wwwroot. Даже если я изменю каталог на /src/App.js он возвращает код приложения. В чем же проблема?
Комментарии:
1. что произойдет , если вы нажмете на
public/index.html
кнопку ? это встроенное веб-приложение?2. @azium — это пустая страница. Я создал веб-приложение с помощью команды «npm start»
3. npm start не создает приложение
npm run build
, которое оно создает. это сгенерирует статические файлы, необходимые для размещения вашего веб-сайта4. @azium и где я должен выполнить эту команду? В консоли Kudu?
5. никогда не слышал о куду. вам нужно это использовать?
Ответ №1:
При запуске приложения узла в Windows Azure Web Apps IIS используется в качестве веб-сервера вместе с iisnode, и, скорее всего, какая-то конфигурация неверна, поэтому IIS не знает, с чего начать. Я бы посоветовал позволить Azure обрабатывать создание web.config, и вы не трогаете его, если не знаете, что делаете:
- Создайте файл
.deployment
со следующим содержимым[config] SCM_DO_BUILD_DURING_DEPLOYMENT = true
- Поместите
.deployment
файл, а также содержимое вашего приложения React (не включайте web.config, вам также не нужно включать папку node_modules, Azure обработает это, поскольку для SCM_DO_BUILD_DURING_DEPLOYMENT установлено значение true) в upload.zip досье. - Удалите содержимое /wwwroot в Azure
- Выполнить
az webapp deployment source config-zip -g <ResourceGroupName> -n <AppServiceName> --src upload.zip
Должен быть создан новый web.config, который должен содержать обработчик для server.js какой файл будет обслуживаться Node.js .
Ответ №2:
Это решаемая проблема. Спасибо @azium
Единственное, что мне нужно было сделать, это убежать
npm run build
в локальном режиме перед развертыванием