Jika Anda mengerjakan proyek front-end kecil dan ingin mengujinya secara lokal, Anda biasanya membukanya dengan mengarahkan direktori lokal Anda di browser web, misalnya memasukkan file: /// home / erick / mysuperproject / index .html di bilah URL Anda. Namun, jika situs Anda mencoba memuat sumber daya, meskipun ditempatkan di direktori lokal Anda, Anda mungkin melihat peringatan seperti ini:
XMLHttpRequest tidak dapat memuat file: ///home/erick/mysuperproject/mylibrary.js. Permintaan lintas sumber hanya didukung untuk HTTP.
Chrome dan browser modern lainnya telah menerapkan batasan keamanan untuk Permintaan Cross Origin, yang berarti Anda tidak dapat memuat apa pun melalui file: ///, Anda perlu menggunakan protokol http: // setiap saat, bahkan secara lokal -due kebijakan Same Origin. Sesederhana itu, Anda perlu memasang server web untuk menjalankan proyek Anda di sana.
Ini bukanlah akhir dari dunia dan ada banyak solusi di luar sana, termasuk Apache lama yang baik (dengan VirtualHosts jika Anda menjalankan beberapa proyek lain), node.js dengan express, server Ruby, dll. Atau hanya memodifikasi pengaturan browser.
Namun ada solusi yang lebih sederhana dan ringan untuk yang malas. Anda dapat menggunakan SimpleHTTPServer Python. Itu sudah dibundel dengan python sehingga Anda tidak perlu menginstal atau mengkonfigurasi apa pun!
Jadi, cd ke direktori proyek Anda, misalnya
1 cd / home / erick / mysuperproject dan kemudian gunakan saja
1 python -m SimpleHTTPServer Dan itu saja, Anda akan melihat pesan ini di terminal Anda
1 Melayani HTTP di 0.0.0.0 port 8000 ... Jadi sekarang Anda dapat kembali ke browser Anda dan mengunjungi http://0.0.0.0:8000dengan semua file direktori Anda disajikan di sana. Anda dapat mengkonfigurasi port dan hal lainnya, lihat saja dokumentasinya. Tapi trik sederhana ini berhasil untuk saya ketika saya sedang terburu-buru untuk menguji perpustakaan baru atau mencari ide baru.
Ini dia, selamat membuat kode!
EDIT:
Dengan Python 3+, SimpleHTTPServer telah diganti dengan http.server. Jadi Di Python 3.3, misalnya, perintah berikut ini setara:
python -m http.server 8000