이것은 3-in-1 프로젝트입니다.
BPMTECH.NO- DJ 용 무료 온라인 실시간 BPM 카운터
(YouTube에서 시청하려면 클릭하십시오)
git clone https://github.com/webmaxru/bpm-counter.git
cd bpm-counter
npm install
# Installing tools for Static Web Apps and Azure Functions
npm install -g @azure/static-web-apps-cli
npm install -g azure-functions-core-tools@3 --unsafe-perm true
# Instead of CRA's "npm start" we use SWA CLI's command to start everything at once
swa start http://localhost:3000 --run " npm start " --api-location ./api
브라우저에서 http : // localhost : 4280을 엽니 다.
이 프로젝트를 Azure에 배포하려면이 리포지트를 자신의 Github 계정으로 포크해야합니다. Azure 구독도 필요합니다. 당신이 가지고 있지 않다면, 당신은 200 달러의 크레딧으로 여기에서 무료로 Azure 구독을받을 수 있습니다.
Azure 정적 웹 앱 서비스에는 많은 유형의 개인 프로젝트에 충분한 넓은 무료 계층이 있습니다.
GitHub 계정에 Repo가 있고 Azure Subscription Ready가 준비된 후 Visual Studio Code 또는 Azure Portal 용 Azure STATIC Web Apps Extension을 사용하여 SWA 리소스를 만듭니다.
- 또는 -
다음 매개 변수를 사용하십시오.
일어날 일 :
.github/workflows
폴더에서 생성됩니다. 원래 리포의 것과 유사합니다.이제 Azure 정적 웹 앱 기능을 탐색 할 준비가되었습니다.
main
브랜치 (또는 리소스 생성 중에 지정한 지점)로 커밋하고 밀어 넣습니다.서비스 작업자 중심의 응용 프로그램이므로 페이지를 다시로드하라는 프롬프트가 표시됩니다.
메인 브랜치에 합병되기 전에 사전 제작 환경에서 풀 요청을 검토 할 수 있습니다.
git checkout -b new-feature
응용 프로그램에서 코드 변경을 수행하십시오. 예를 들어 첫 번째 페이지에서 명확하게 볼 수있는 것, 예를 들어 배경색을 변경합니다.
git add .
git commit -m " New feature "
git push origin new-feature
Github Repo 페이지로 이동하여 지점에서 새 풀 요청을 작성하십시오.
워크 플로가 실행 중인지 확인하려면 Repo의 액션 페이지로 이동하십시오.
완료되면 새 버전의 웹 사이트가 Azure에 새 URL에 배포됩니다. Azure의 워크 플로 출력 또는 환경 탭의 Azure Portal 에서이 URL을 얻을 수 있습니다. GitHub Actions Bot은이 URL을 풀 요청 주석에 게시합니다.
이제 새 버전에서 다양한 테스트를 실행할 수 있습니다.
새 버전이 좋아 보이고이 풀 요청을 메인 (SWA에 의해 추적)에 병합하면 워크 플로우는 새 버전을이 추적 브랜치에 자동으로 배포하고 삭제 스테이징 환경을 삭제합니다.
GitHub 저장소가 비공개 인 경우에도 응용 프로그램의 단계별 버전은 URL에 의해 공개적으로 액세스 할 수 있습니다.
? 선적 서류 비치
Azure 함수를 사용하여 정적 웹 앱을 위해 자신의 API를 구축 할 수 있습니다. 가장 간단한 옵션은 관리 된 기능 옵션을 사용하는 것입니다. api
디렉토리에서 작성한 모든 Azure 함수는 SWA에 자동으로 배포됩니다. 이 프로젝트에서는 feedback
기능을 사용하여 정확하거나 잘못된 BPMS 감지에 대한 통계를 수집합니다.
음악을 재생하지 않고도 테스트하려면 BPM 매개 변수를 사용하여 "하드 코드 된"BPM 값을 애플리케이션에 전달할 수 있습니다. 테스트 방법 :
https://bpmtech.no/api/feedback
endpoint 및 그 응답에 작성된 네트워크 게시물 요청을 확인하십시오.새 API 기능을 만드는 방법 :
? 선적 서류 비치
Azure SWA는 다음을 수행 할 수있는 사용자 정의 라우팅을 지원합니다.
Repo의 애플리케이션 폴더의 어느 곳에서나 적용 할 수있는 staticwebapp.config.json의 규칙을 구성하면 출력 (공개) 폴더에 넣을 필요가 없습니다.
테스트 방법 :
호스팅 된 응용 프로그램은 서비스 작업자에 의해 제어됩니다. 따라서 첫 번째 하중 후에는 라우팅이 위에서 설명한 것과 똑같지 않을 수 있습니다. 서비스 작업자가없는 앱을 테스트하려면 개인/인코크 모드에서 새로운 브라우저 세션을 시작하십시오.
? 선적 서류 비치
Azure 정적 웹 앱의 도움으로 RBAC (Role-Based Access Control)로 애플리케이션 리소스를 보호 할 수 있습니다.
인증 설정 :
anonymous
(모든 사용자를위한)과 authenticated
(로그인 한 사람들을 위해)의 두 가지 내장 역할이 있습니다..auth
.administrator
)을 제공하려면 Azure Portal에서 "역할 관리"탭을 사용합니다. "초대"버튼을 클릭하고 양식을 채우고 "생성"을 클릭하십시오. 역할을 수락하기 위해 사용자에게 보낼 링크를 받게됩니다. "역할 관리"탭에서 사용자와 역할을 관리 할 수 있습니다.
x-ms-client-principal
헤더를 읽습니다.데모:
authenticated
사용자 만 사용할 수 있도록 구성됩니다. 트위터 로그인 페이지로 리디렉션되고 동의를 요청합니다.administrator
제공해야합니다.? 선적 서류 비치
프로젝트 디렉토리에서는 다음을 실행할 수 있습니다.
npm run start
개발 모드에서 앱을 실행합니다.
브라우저에서 http : // localhost : 3000을 엽니 다.
편집하면 페이지가 다시로드됩니다.
콘솔에 보풀 오류가 표시됩니다.
서비스 작업자는 개발 환경에서 사용되지 않습니다.
npm run build
build
폴더에 생산을위한 앱을 빌드합니다.
생산 모드에서 올바르게 반응하고 최상의 성능을 위해 빌드를 최적화합니다.
빌드는 미니어지고 파일 이름에는 해시가 포함됩니다.
앱을 배포 할 준비가되었습니다!
생산 준비 서비스 작업자도 생성됩니다.
Maxim Salnikov. 프로젝트, PWA, Azure 정적 웹 앱에 대해 궁금한 점이 있으면 저에게 연락하십시오.