ฉันสามารถโฮสต์แอป react ของฉันเพื่อใช้ react-router-dom กับ Netlify ได้ฟรีหรือไม่
โครงการของฉัน:
- ตอบสนอง (ฉันใช้create-react-appไลบรารี)
- ใช้
react-router-dom
ใช้BrowserRouter
,Route
และSwitch
การนำเข้า สิ่งนี้ช่วยให้ฉันไปที่ URL ที่แตกต่างกัน: ตัวอย่างเช่นเมื่อฉันเรียกใช้แอพของฉันบน localhostlocalhost3000
ก็คือบ้าน เป็นส่วนหนึ่งของการทำงานของ app ของฉันคือการสุ่มสร้าง URL - เช่น: หรือlocalhost3000/123456
localhost3000/654321
- ใช้
- ทำการเปลี่ยนแปลงฐานข้อมูลใน Realtime Database ของ Firebase และใช้ Auth ของ Firebase
สิ่งที่ฉันต้องการ:
ฟรี: เนื่องจากแอปนี้เป็นผลงานฉันคิดว่าทั้งหมดที่ฉันต้องการคือชื่อโดเมนใด ๆ ที่อนุญาตให้ฉันใช้ประโยชน์
react-router-dom
ได้ ตัวอย่างเช่นwww.anyname.com
คือบ้านและwww.anyname/123456.com
เป็นหนึ่งในเส้นทางของฉันไม่ฟรี: หากไม่มีความสามารถในการบรรลุสิ่งที่ฉันต้องการได้ฟรีฉันยินดีที่จะซื้อชื่อโดเมนและขอขอบคุณสำหรับคำแนะนำว่าฉันจะดำเนินการนี้ได้อย่างไร
สิ่งที่ฉันได้ค้นคว้า:
- Netlify ได้รับการแนะนำให้ฉัน ฉันรู้ว่ามันให้ความสามารถในการแก้ไขส่วนหนึ่งของชื่อโดเมน แต่ฉันไม่รู้ว่ามันจะแสดง 'เส้นทาง' ของฉันหรือไม่เช่น (
nameofmychoosing.netlify.app
คือบ้านและnameofmychoosing/123456.netlify.app
เป็นหนึ่งในเส้นทางของฉัน - มันจะใช้ได้ไหม)
ปล. ถ้าที่นี่ไม่ใช่ที่ที่เหมาะสมในการโพสต์คำถามแนะนำให้ฉันไปที่ฟอรัมที่ถูกต้องจะได้รับการชื่นชมมาก
แก้ไข: เพิ่งค้นพบสิ่งนี้และสิ่งนี้ซึ่งบอกว่าฉันต้องทำการปรับเปลี่ยนเล็กน้อยเพื่อให้ netlify ใช้งานreact-router-dom
ได้
คำตอบ
คุณสามารถเปลี่ยน url ของหน้าเว็บที่คุณใช้งานโค้ดได้อย่างอิสระ ผลที่ตามมาเพียงอย่างเดียวคือพฤติกรรมของ URL สัมพัทธ์และสิ่งที่จะเกิดขึ้นเมื่อโหลดเพจซ้ำ ในสภาพแวดล้อมการโฮสต์ด้วยตนเองส่วนใหญ่คุณควรปรับเปลี่ยนทุกอย่างที่เกิดขึ้นหลังจากโดเมนได้ เช่นhttps://www.example.com/yourrouteshere หรือยังใช้ https://www.example.com/page#Yourrouteshere. สิ่งที่ควรทราบคือหากผู้ใช้รีเฟรชเพจแบ็กเอนด์ของคุณยังคงต้องตอบสนองที่เหมาะสม ซึ่งอาจหมายความว่าแบ็กเอนด์จะส่งคืนสิ่งเดียวกันเสมอโดยไม่คำนึงถึงเส้นทาง URL หรืออาจหมายถึงการให้บริการบางอย่างที่แตกต่างกันขึ้นอยู่กับกรณีการใช้งานของคุณ
คุณไม่ควรแก้ไขโดเมนเองเว้นแต่คุณจะมีการตั้งค่าแปลก ๆ ที่อาศัยการมีชื่อโฮสต์หลายชื่อสำหรับกรณีการใช้งานแปลก ๆ
เมื่อคุณมีแอปพลิเคชันที่ใช้งานอยู่คุณอาจพิจารณาตั้งค่าระเบียน DNS ด้วยแอตทริบิวต์ CNAME เพื่อส่งต่อไปยังโฮสต์ที่มีอยู่
ฉันสามารถที่จะมี Netlify โฮสต์ของฉันตอบสนอง app สำหรับฟรีและทำให้การใช้งานreact-router-dom
โดย i) การสร้างไฟล์ที่เรียกว่า_redirects
ในโฟลเดอร์ที่.html
ชีวิตและ ii) ใส่ใน:_redirects
/* /index.html 200
มีอยู่แล้วเป็นคำถามที่ SO และคำตอบที่คล้ายกันที่นี่ที่ฉันต้องการที่จะเชื่อมโยงไปยังคำถามของฉัน ฉันไม่รู้ว่าจะทำยังไงถ้าใครสามารถแสดงให้ฉันเห็นว่าจะได้รับการชื่นชม