วิธีการ Deploy แบบไม่ได้อยู่ที่ server root โดยตรง (React.js)



วิธีการ Deploy แบบไม่ได้อยู่ที่ server root โดยตรง (React.js)

วิธีการ Deploy แบบไม่ได้อยู่ที่ server root โดยตรง (Building for Relative Paths)

Building for Relative Paths

หลายๆคนอาจจะเจอปัญหาการวาง Paths ไฟล์โปรเจ็คที่พัฒนาจาก React.js หลัง Deploy เสร็จบน Hosting ที่ไม่ได้เป็น root directory เช่น http://mywebsite.com/relativepath

วิธีแก้ไขปัญหานี้คือ เราต้องเพิ่ม homepage ใน package.json เช่น

"homepage": "http://mywebsite.com/relativepath",

หลังจากที่เพิ่ม homepage เรียบร้อยแล้วเราต้องมาระบุ basepath ใน Router ในไฟล์ App.js เพื่อทำให้ Link สามารถชี้ไปยังหน้าที่เราสร้างขึ้นได้  เช่น

BrowserRouter basename="/relativepath"
Link to="/today"

หลังจากตั้งค่าเสร็จเรียบร้อยแล้วพิมพ์คำสั่ง npm run build เพื่อ Deploy
เอกสารอ้างอิง