นี่คือโครงการ 3-in-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 คุณต้องแยก repo นี้ไปยังบัญชี GitHub ของคุณเอง คุณจะต้องสมัครสมาชิก Azure หากคุณไม่มีมันคุณสามารถรับสมัคร Azure ได้ที่นี่ฟรีด้วยเครดิต $ 200
โปรดทราบว่า Azure Static Web Apps Service มีระดับฟรีที่เพียงพอซึ่งเพียงพอสำหรับโครงการส่วนบุคคลหลายประเภท
หลังจากที่คุณมี repo ในบัญชี GitHub ของคุณและ Azure สมัครสมาชิกพร้อมให้ใช้ส่วนขยายแอปแอพ Azure Static Web สำหรับรหัสสตูดิโอ Visual หรือ Azure Portal เพื่อสร้างทรัพยากร SWA
- หรือ -
ใช้พารามิเตอร์ต่อไปนี้:
จะเกิดอะไรขึ้น:
.github/workflows
ของ repo ของคุณ คล้ายกับหนึ่งใน repo ดั้งเดิมตอนนี้คุณพร้อมที่จะสำรวจคุณสมบัติเว็บแอป Azure Static
main
(หรือสาขาที่คุณระบุในระหว่างการสร้างทรัพยากร)โปรดทราบว่านี่เป็นแอปพลิเคชันที่ขับเคลื่อนด้วยบริการดังนั้นคุณจะเห็นพรอมต์ในการโหลดหน้าใหม่
คุณสามารถตรวจสอบคำขอดึงในสภาพแวดล้อมก่อนการผลิตก่อนที่พวกเขาจะถูกรวมเข้ากับสาขาหลัก
git checkout -b new-feature
ทำการเปลี่ยนแปลงรหัสใด ๆ ในแอปพลิเคชัน สิ่งที่จะมองเห็นได้ชัดเจนในหน้าแรกเช่นเปลี่ยนสีพื้นหลัง
git add .
git commit -m " New feature "
git push origin new-feature
ไปที่หน้า GitHub Repo และสร้างคำขอดึงใหม่จากสาขา
ไปที่หน้าการกระทำของ repo ของคุณเพื่อให้แน่ใจว่าเวิร์กโฟลว์กำลังทำงานอยู่
เมื่อเสร็จสิ้นคุณจะมีเว็บไซต์เวอร์ชันใหม่ที่ปรับใช้กับ Azure ไปยัง URL ใหม่ คุณสามารถรับ URL นี้ได้จากเอาท์พุทเวิร์กโฟลว์บน Azure หรือในแท็บ Azure Portal on Environment GitHub Actions Bot จะโพสต์ URL นี้ลงในความคิดเห็นคำขอดึงของคุณ
ตอนนี้คุณสามารถเรียกใช้การทดสอบต่าง ๆ ในเวอร์ชันใหม่ของคุณ
หากเวอร์ชันใหม่ดูดีและคุณรวมคำขอดึงนี้เข้ากับสาขาหลัก (ติดตามโดย SWA) เวิร์กโฟลว์จะปรับใช้เวอร์ชันใหม่ไปยังสาขาที่ติดตามนี้โดยอัตโนมัติและลบสภาพแวดล้อมการจัดเตรียม
โปรดทราบว่าแอปพลิเคชันรุ่นที่จัดฉากของคุณสามารถเข้าถึงได้ในปัจจุบันโดย URL ของพวกเขาแม้ว่าที่เก็บ GitHub ของคุณเป็นส่วนตัว
- เอกสาร
คุณสามารถใช้ฟังก์ชั่น Azure เพื่อสร้าง API ของคุณเองสำหรับแอปพลิเคชันเว็บแบบคงที่ ตัวเลือกที่ง่ายที่สุดคือการใช้ตัวเลือกฟังก์ชั่นการจัดการ: ฟังก์ชั่น Azure ทั้งหมดที่คุณสร้างในไดเรกทอรี api
จะถูกปรับใช้กับ SWA โดยอัตโนมัติ ในโครงการนี้เราใช้ฟังก์ชั่น feedback
เพื่อรวบรวมสถิติเกี่ยวกับการตรวจพบ BPM ที่ถูกต้องหรือผิด
ในการทดสอบแม้จะไม่มีการเล่นเพลงคุณสามารถส่งค่า BPM "hardcoded" ไปยังแอปพลิเคชัน: โดยใช้พารามิเตอร์ BPM วิธีทดสอบ:
https://bpmtech.no/api/feedback
ปลายทางและการตอบสนองวิธีสร้างฟังก์ชั่น API ใหม่:
- เอกสาร
Azure SWA รองรับการกำหนดเส้นทางที่กำหนดเองซึ่งช่วยให้คุณสามารถ:
คุณกำหนดค่ากฎใน StaticWebApp.config.json ซึ่งคุณสามารถใส่ได้ทุกที่ในโฟลเดอร์แอปพลิเคชันของ repo ไม่มีข้อกำหนดที่จะใส่ไว้ในโฟลเดอร์เอาท์พุท (สาธารณะ))
วิธีทดสอบ:
โปรดทราบว่าแอปพลิเคชันที่โฮสต์ถูกควบคุมโดยพนักงานบริการ ดังนั้นหลังจากโหลดครั้งแรกการกำหนดเส้นทางอาจดูไม่เหมือนที่อธิบายไว้ข้างต้น ในการทดสอบแอพโดยไม่มีผู้ให้บริการให้เริ่มเซสชันเบราว์เซอร์ใหม่ในโหมดส่วนตัว/ไม่ระบุตัวตน
- เอกสาร
ด้วยความช่วยเหลือของแอพพลิเคชั่นเว็บ Azure Static คุณสามารถปกป้องทรัพยากรแอปพลิเคชันของคุณด้วยการควบคุมการเข้าถึงตามบทบาท (RBAC)
การตั้งค่าการรับรองความถูกต้อง:
anonymous
(สำหรับผู้ใช้ทั้งหมด) และ authenticated
(สำหรับผู้ที่เข้าสู่ระบบ).auth
ในโครงการ Azure SWA ของคุณอยู่ในตัวมันเรียกว่า โฟลเดอร์ระบบ ซึ่งมีจุดสิ้นสุดที่มีประโยชน์administrator
) คุณใช้แท็บ "การจัดการบทบาท" ในพอร์ทัล Azure คลิกที่ปุ่ม "เชิญ" กรอกแบบฟอร์มและคลิก "สร้าง" คุณจะได้รับลิงค์เพื่อส่งไปยังผู้ใช้เพื่อรับบทบาท คุณสามารถจัดการผู้ใช้และบทบาทในแท็บ "การจัดการบทบาท"
x-ms-client-principal
ในคำขอการสาธิต:
authenticated
ตามกฎนี้ คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ Twitter และขอความยินยอมadministrator
บทบาทตามที่อธิบายไว้ข้างต้น- เอกสาร
ในไดเรกทอรีโครงการคุณสามารถเรียกใช้:
npm run start
รันแอพในโหมดการพัฒนา
เปิด http: // localhost: 3000 เพื่อดูในเบราว์เซอร์
หน้าจะโหลดซ้ำหากคุณทำการแก้ไข
คุณจะเห็นข้อผิดพลาดผ้าสำลีในคอนโซล
พนักงานบริการไม่ได้ใช้งานในสภาพแวดล้อมการพัฒนา
npm run build
สร้างแอพสำหรับการผลิตไปยังโฟลเดอร์ build
มันรวมกันอย่างถูกต้องตอบสนองในโหมดการผลิตและปรับการสร้างเพื่อประสิทธิภาพที่ดีที่สุด
บิลด์มีขนาดเล็กและชื่อไฟล์รวมถึงแฮช
แอพของคุณพร้อมที่จะนำไปใช้งานแล้ว!
ผู้ปฏิบัติงานบริการพร้อมผลิตจะถูกสร้างขึ้น
Maxim Salnikov อย่าลังเลที่จะติดต่อฉันหากคุณมีคำถามใด ๆ เกี่ยวกับโครงการ PWA, Azure Static Web Apps