หากคุณกำลังทำงานในโครงการส่วนหน้าเล็กน้อยและต้องการทดสอบในเครื่องโดยทั่วไปคุณจะเปิดโดยชี้ไดเรกทอรีในเครื่องของคุณในเว็บเบราว์เซอร์เช่นป้อนไฟล์: /// home / erick / mysuperproject / index .html ในแถบ URL ของคุณ อย่างไรก็ตามหากไซต์ของคุณพยายามโหลดทรัพยากรแม้ว่าจะอยู่ในไดเร็กทอรีท้องถิ่นของคุณคุณอาจเห็นคำเตือนเช่นนี้:
XMLHttpRequest ไม่สามารถโหลดไฟล์: ///home/erick/mysuperproject/mylibrary.js คำขอข้ามแหล่งที่มารองรับ HTTP เท่านั้น
Chrome และเบราว์เซอร์รุ่นใหม่อื่น ๆ ได้ใช้ข้อ จำกัด ด้านความปลอดภัยสำหรับคำขอ Cross Origin ซึ่งหมายความว่าคุณไม่สามารถโหลดอะไรผ่านไฟล์: /// ได้คุณต้องใช้โปรโตคอล http: // ตลอดเวลาแม้กระทั่งนโยบายแหล่งกำเนิดเดียวกันในเครื่อง ง่ายๆแค่นั้นคุณจะต้องติดตั้งเว็บเซิร์ฟเวอร์เพื่อเรียกใช้โครงการของคุณที่นั่น
นี่ไม่ใช่จุดจบของโลกและมีโซลูชันมากมายรวมถึง Apache รุ่นเก่าที่ดี (พร้อม VirtualHosts หากคุณกำลังใช้งานโปรเจ็กต์อื่น ๆ ), node.js พร้อม Express, เซิร์ฟเวอร์ Ruby เป็นต้นหรือเพียงแค่ปรับเปลี่ยน การตั้งค่าเบราว์เซอร์
อย่างไรก็ตามมีวิธีแก้ปัญหาที่ง่ายและเบากว่าสำหรับคนขี้เกียจ คุณสามารถใช้ SimpleHTTPServer ของ Python มันมาพร้อมกับ python แล้วดังนั้นคุณไม่จำเป็นต้องติดตั้งหรือกำหนดค่าอะไรเลย!
ดังนั้น cd ไปยังไดเรกทอรีโครงการของคุณเช่น
1 cd / home / erick / mysuperproject จากนั้นใช้ไฟล์
1 python -m SimpleHTTPServer เพียงเท่านี้คุณก็จะเห็นข้อความนี้ในเทอร์มินัลของคุณ
1 ให้บริการ HTTP บน 0.0.0.0 พอร์ต 8000 ... ตอนนี้คุณสามารถกลับไปที่เบราว์เซอร์ของคุณและไปที่http://0.0.0.0:8000ไฟล์ไดเรกทอรีทั้งหมดของคุณที่ให้บริการที่นั่น คุณสามารถกำหนดค่าพอร์ตและสิ่งอื่น ๆ ได้เพียงดูเอกสารประกอบ แต่เคล็ดลับง่ายๆนี้ใช้ได้ผลกับฉันเมื่อฉันเร่งรีบที่จะทดสอบห้องสมุดใหม่หรือหาแนวคิดใหม่ ๆ
เอาล่ะมีความสุขกับการเขียนโค้ด!
แก้ไข:
ใน Python 3+ SimpleHTTPServer ถูกแทนที่ด้วย http.server ตัวอย่างเช่นใน Python 3.3 คำสั่งต่อไปนี้เทียบเท่า:
python -m http.server 8000