Se stai lavorando a un piccolo progetto front-end e desideri testarlo localmente, in genere lo aprirai puntando la tua directory locale nel browser web, ad esempio inserendo file: /// home / erick / mysuperproject / index .html nella barra degli URL. Tuttavia, se il tuo sito sta tentando di caricare risorse, anche se sono collocate nella tua directory locale, potresti visualizzare avvisi come questo:
XMLHttpRequest non può caricare il file: ///home/erick/mysuperproject/mylibrary.js. Le richieste tra origini sono supportate solo per HTTP.
Chrome e altri browser moderni hanno implementato restrizioni di sicurezza per le richieste Cross Origin, il che significa che non è possibile caricare nulla tramite file: ///, è necessario utilizzare il protocollo http: // in ogni momento, anche localmente in base ai criteri Same Origin. Semplice come quello, avresti bisogno di montare un server web per eseguire il tuo progetto lì.
Questa non è la fine del mondo e ci sono molte soluzioni là fuori, incluso il buon vecchio Apache (con VirtualHosts se stai eseguendo molti altri progetti), node.js con express, un server Ruby, ecc. O semplicemente modificando il tuo impostazioni del browser.
Tuttavia esiste una soluzione più semplice e leggera per i pigri. Puoi usare SimpleHTTPServer di Python. Viene già fornito in bundle con Python, quindi non è necessario installare o configurare nulla!
Quindi cd nella directory del tuo progetto, per esempio
1 cd / home / erick / mysuperproject e poi usa semplicemente
1 python -m SimpleHTTPServer E questo è tutto, vedrai questo messaggio nel tuo terminale
1 Serve HTTP sulla porta 0.0.0.0 8000 ... Quindi ora puoi tornare al tuo browser e visitare http://0.0.0.0:8000con tutti i file di directory serviti lì. Puoi configurare la porta e altre cose, basta vedere la documentazione. Ma questo trucco funziona semplicemente per me quando ho fretta di testare una nuova libreria o elaborare una nuova idea.
Ecco qua, buona programmazione!
EDIT:
In Python 3+, SimpleHTTPServer è stato sostituito con http.server. Quindi in Python 3.3, ad esempio, il seguente comando è equivalente:
python -m http.server 8000