Relative path in react

13 May 2018,
Share: 

สวัสดีครับ สําหรับบทความนี้ผมจะยกตัวอย่างการทํา Relative path ใน React ครับ เนื่องจากเมื่อไม่นานมานี้ผมเจอเหตุการคือเว็บที่เราเขียนด้วย React ไม่ได้อยู่ใน Root path เช่น เว็บไซต์เราไปอยู่ใน path “/profile/” ไม่ได้อยู่ใน ”/”

ตัวอย่าง  “https://www.mydomain.com/profile/” จะทําให้เกิดปัญหาการ import พวก image, css, ฯลฯ React จะอ้างไปที่ ”/” ซึ่งจริงๆแล้วมันควรจะเป็น “/profile/” วิธีการแก้ปัญหานี้คือ เราจะต้องแก้ไขไฟล์สองส่วนด้วยกันครับ

ส่วนที่ 1

เป็นส่วนของไฟล์ Index ที่ import พวก javascript หรือ css ภายนอกที่ไม่ยุ่งเกี่ยวกับ React วิธีการคือ เพิ่ม ในไฟล์ “/public/index.html”

แก้ your_root_path เป็น path ที่เราต้องการ เพื่อบอกว่า root path ที่เราจะใช้ใน html ไฟล์นี้คืออะไร ซึ่งถ้าเราไม่ได้ใส่ Default จะเป็น ”/”

ตัวอย่าง

<html lang="en">
  <head>
    <base href="/your_root_path/">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">

...

ส่วนที่ 2

ส่วนนี้จะเป็นส่วนที่ยุ่งเกี่ยวกับการทํางานของตัว React เอง วิธีการคือ แก้ไฟล์ package.json โดยเพิ่ม field “homepage” เข้าไปตามนี้

"homepage": "https://www.mydomain.com/some_path/"

เมื่อเราสั่ง build project ของเรา Script ของ Create react app จะอ่านค่านี้ไป แล้วไปเปลี่ยน root path ในทุกๆการ Import เป็นค่าที่ระบุให้เราเองโดยอัตโนมัติ ซึ่งจะมีผลกับการ Import image, css, ฯลฯ ใน component ต่างๆของเรา ตัวอย่างการแก้ไฟล์ package.json

{
  "name": "myapp",
  "version": "0.1.0",
  "private": true,
  "homepage": "https://www.mydomain.com/some_path/",
  "dependencies": {
    ...
  },
  "scripts": {
    ...
  }
}

Suggestion blogs

วิธีป้องกันสแปมรบกวนใน iMessage

สําหรับผู้ใช้งาน iPhone ในช่วงนี้ได้รับข้อความสแปมใน iMessage ทําให้บางคนเกิมความกังวลในเรื่องของความปลอดภัย และเกิดความรำคาญ ในความเป็นจริงแล้วเราไม่ต้องสนใจ ไม่ต้องไปกด Link ต่างๆที่ส่งเข้ามาก็ได้ครับ ไม่มีผลกระทบใดๆกับเครื่องของเราแต่อย่างใด แต่สําหรับใครที่ยังรำคาญ เราก็สามารถ Setting เพื่อโยนข้อความ iMessage ที่ถูกส่งมาจากบุคคลอื่น (บุคคลที่ไม่ได้อยู่ในรายชื่อใน Contact ของเรา) แยกไปอยู่ใน Unknown Senders และก็จะไม่มีการแจ้งเตือนให้หน้ารําคาญ สามารถ Setting ได้ตามวิธีดังนี้ครับ

[ภาษาซี] คําสั่งเงื่อนไข (Condition Statement)

เป็นคําสั่งที่ใช้เลือกทําโดยจะพิจารณาจากเงื่อนไขที่กําหนด

วิธีใช้ nano Command Text Editer

nano เป็นคําสั่งที่ใช้แก้ไข Text File คล้ายๆกับ notepad ใน Windows รูปแบบการใช้งานก็มีดังนี้nano [FILE]...[FILE]... คือ ชื่อของ Text file ที่ต้องการจะ แก้ไข(ถ้าไฟล์นั้นมีอยู่แล้ว จะเปิดไฟล์นั้นขึ้นมาแก้ไข แต่ถ้าไม่พบไฟล์ จะสร้างไฟล์ขึ้นมาใหม่)Imageคําสั่ง nano พื้นฐานบันทึกไฟล์ Cltr + Oการ Copy ข้อความทั้งบรรทัด Alt + ^การ Cut ข้อความทั้งบรรทัด Cltr + Kการ Paste บรรทัดที่ Copy มา Cltr + Uการค้นหาคำ Cltr + Wการค้นหาคำ Alt + Wการเลือกข้อความ Cltr + Shift + 6 แล้ว เลื่อน Cursor ไปซ้ายขวาจนได้เนื้อหาที่ต้อการการ Copy ข้อความที่เลือก Alt + Shift + 6การ Cut ข้อความที่เลือก Cltr + Kออกจากโปรแกรม Cltr + x


Copyright © 2019 - 2025 thiti.dev |  v1.57.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ