這是一個3合1項目:
bpmtech.no-免費的在線實時BPM DJ計數器
(點擊在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訂閱。如果您沒有它,則可以在這裡免費獲得Azure訂閱,並獲得200美元的信用。
請注意,Azure靜態Web Apps服務具有寬敞的免費層,足以容納許多類型的個人項目。
在GitHub帳戶中擁有存儲庫並準備好Azure訂閱後,請使用Azure靜態Web應用程序擴展為Visual Studio Code或Azure Portal來創建SWA資源。
- 或者 -
使用以下參數:
會發生什麼:
.github/workflows
文件夾中創建一個github操作文件。類似於原始存儲庫中的一個。您現在準備探索Azure靜態Web應用程序功能。
main
分支(或您在資源創建期間指定的分支)。請注意,這是一個服務工作者驅動的應用程序,因此您將看到重新加載頁面的提示。
您可以在將其合併到主要分支之前,在預生產環境中查看拉的請求。
git checkout -b new-feature
在應用程序中進行任何代碼更改。在第一頁上可以清晰可見的內容,例如更改背景顏色。
git add .
git commit -m " New feature "
git push origin new-feature
轉到GitHub回購頁面,然後從分支機構創建一個新的拉請請求。
轉到存儲庫的操作頁面,以確保工作流程正在運行。
完成後,您將有一個新版本的網站部署到Azure到新的URL。您可以從Azure上的Workflow輸出或環境卡上的Azure門戶中獲取此URL。 GitHub Actions Bot還將將此URL發佈到您的拉請請求評論中。
現在,您可以對新版本進行各種測試。
如果新版本看起來不錯,並且您將此拉的請求合併到主(SWA跟踪)分支,則工作流將自動將新版本部署到此軌道上的分支和刪除登台環境中。
請注意,即使您的github存儲庫是私人的,您的URL目前都可以通過其URL公開訪問您的應用程序。
?文件
您可以使用Azure功能為靜態Web應用程序構建自己的API。最簡單的選項是使用託管功能選項:您在api
目錄中創建的所有Azure函數將自動部署到SWA。在此項目中,我們使用feedback
功能來收集有關檢測到的正確或錯誤的BPM的統計信息。
為了測試它,即使沒有音樂播放,您也可以將“硬編碼” BPM值傳遞給應用程序:使用BPM參數。如何測試它:
https://bpmtech.no/api/feedback
端點及其響應。如何創建新的API函數:
?文件
Azure SWA支持自定義路由,使您可以:
您可以在staticwebapp.config.json中配置規則,您可以將其放置在repo的應用程序文件夾中的任何位置,因此不需要將其放入輸出(public)文件夾中)。
如何測試它:
請注意,託管申請由服務工作者控制。因此,在第一個負載後,路由可能看起來並不像上面所述。要在沒有服務工作者的情況下測試應用程序,請以私有/隱身模式開始新的瀏覽器會話。
?文件
在Azure靜態Web應用程序的幫助下,您可以使用基於角色的訪問控制(RBAC)保護應用程序資源。
設置身份驗證:
anonymous
(適用於所有用戶)和authenticated
(對於登錄的人)。.auth
是內置的,它是所謂的系統文件夾,其中包含一些有用的端點。administrator
),您可以在Azure門戶中使用“角色管理”選項卡。單擊“邀請”按鈕,填寫表格,然後單擊“生成”。您將收到一個鏈接,以發送給用戶接受該角色。 您可以在“角色管理”選項卡中管理用戶和角色。
x-ms-client-principal
標頭。演示:
authenticated
用戶,該規則可用於。您將被重定向到Twitter登錄頁面並徵得同意。administrator
。?文件
在項目目錄中,您可以運行:
npm run start
在開發模式下運行該應用程序。
打開http:// localhost:3000在瀏覽器中查看。
如果您進行編輯,該頁面將重新加載。
您還將在控制台中看到任何棉絨錯誤。
服務工作者不在開發環境中使用。
npm run build
將應用程序構建到build
文件夾中。
它正確地捆綁了在生產模式下進行反應,並優化構建以獲得最佳性能。
構建被縮小,文件名包括哈希。
您的應用已準備好部署!
還將生成可生產的服務工作者。
Maxim Salnikov。如果您對該項目,PWA,Azure靜態Web應用程序有任何疑問,請隨時與我聯繫。