저는 브라우저 API에서 카메라, 위치 정보, 마이크, 광 센서 등을 사용하는 방법을 보여주기 위해 ReactJ를 사용하여 PWA (Progressive Web Apps)에 대한 PoC를 개발했습니다.
이 웹 앱의 각 기능에 대한 경로를 만들었으며 모든 것이 localhost에서 잘 작동합니다. 하지만 Azure Wep App Linux 서비스 에 내 반응 앱의 npm 빌드 버전을 배포하면 제대로 작동하지 않습니다. 기본 페이지 (index.html)에 액세스 할 수 있고 거기에서 다른 페이지로 이동할 수 있지만 URL에서 직접 경로에 액세스하려고하면 404 오류가 발생합니다. 색인 페이지를 제외하고는 수동으로 새로 고침하거나 쓸 때 모든 URL이 작동하지 않습니다.
예 :
https://pwa.mypoc.dev/- 잘 작동합니다
https://pwa.mypoc.dev/lights- 작동 하지 않음
azure "설정"> "일반 설정"> "시작 명령"에서이 명령을 사용했습니다.
pm2 serve /home/site/wwwroot/build --no-daemon
내가 관련된 질문을 발견했지만 내가 사용하지 않는대로 대답은, 나에게 도움이되지 않았다 web.config
그것 때문에 노드 (10) LTS를 실행하는 Linux 시스템 : 응용 프로그램은 푸른 응용 프로그램 서비스에서 시작하지 반응
조금 더 조사한 후 문제를 발견했습니다. Linux Azure Web Apps는 pm2를 사용하여 노드 앱을 제공하기 때문에 공식 문서에서 답을 찾았습니다.
PM2는 애플리케이션을 온라인으로 관리하고 유지하는 데 도움이되는 데몬 프로세스 관리자입니다. PM2 시작은 간단하며 NPM을 통해 설치할 수있는 간단하고 직관적 인 CLI로 제공됩니다.
https://pm2.keymetrics.io/docs/usage/pm2-doc-single-page/#serving-spa-redirect-all-to-indexhtml
Azure Web Apps Linux 일반 설정--spa
의 시작 명령 에 옵션 을 추가하기 만하면됩니다 .
pm2 serve /home/site/wwwroot/build --no-daemon --spa
--spa
pm2 옵션을 사용하면 모든 쿼리가 index.html로 자동 리디렉션되고 반응 라우터가 마법을 수행합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다