Esecuzione in locale ([name])

Se si usano solo geometrie procedurali e non si caricano texture, le pagine web dovrebbero funzionare direttamente dal file system, basta fare doppio click sul file HTML in un file manager e la pagina dovrebbe apparire funzionante nel browser (si vedrà file:///yourFile.html nella barra degli indirizzi del browser).

Contenuto caricato da file esterni

Se si caricano modelli o texture da file esterni, a causa delle restrizioni di sicurezza del [link:http://en.wikipedia.org/wiki/Same_origin_policy same origin policy] del browser, il caricamento da un file system fallirà con un'eccezione di sicurezza.

Per risolvere questo problema, conviene eseguire i file da un server locale. Questo permette di accedere alla pagina come:

http://localhost/yourFile.html

Anche se è possibile cambiare le impostazioni di sicurezza del browser invece di lanciare un server in locale, non lo raccomandiamo. Utilizzando questo approccio si potrebbe esporre il proprio dispositivo a molte vulnerabilità soprattutto se lo stesso browser viene utilizzato per la regolare navigazione sul web. Usare un server locale è una pratica standard nello sviluppo web. Qui sotto, spieghiamo come si installa e utilizza un server locale.

Eseguire un server locale

Molti linguaggi di programmazione hanno semplici server HTTP integrati. Non sono completi come i server di produzione come ad esempio [link:https://www.apache.org/ Apache] o [link:https://nginx.org NGINX], ma sono sufficienti per testare la tua applicazione three.js.

Plugin per i principali editor

Alcuni editor hanno plugin che genereranno un semplice server su richiesta.

Servez

[link:https://greggman.github.io/servez Servez] è un semplice server con GUI.

Node.js five-server

Server di sviluppo con un reload in tempo reale. Installazione:

# Eliminare live-server (se è presente) npm -g rm live-server # Installare five-server npm -g i five-server # Aggiornare five-server (di volta in volta) npm -g i five-server@latest

Esecuzione (dalla tua cartella locale):

five-server . -p 8000

Node.js http-server

Node.js ha un semplice server HTTP. Installazione:

npm install http-server -g

Esecuzione (dalla tua cartella locale):

http-server . -p 8000

Python server

Se hai installato [link:http://python.org/ Python], dovrebbe essere sufficiente eseguire i seguenti comandi da terminale (dalla cartella di lavoro):

//Python 2.x python -m SimpleHTTPServer //Python 3.x python -m http.server

Questo servirà i file dalla cartella corrente a localhost sotto la porta 8000, cioè nella barra degli indirizzi digita:

http://localhost:8000/

Ruby server

Se hai installato Ruby, puoi avere lo stesso risultato eseguendo il seguente comando:

ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"

PHP server

Anche PHP ha un server web integrato, a partire da php 5.4.0:

php -S localhost:8000

Lighttpd

Lighttpd è un server web generico molto leggero. Tratteremo l'installazione su OSX con HomeBrew. Diversamente dagli altri server di cui abbiamo discusso qui, lighttpd è un server di produzione completo pronto per la produzione.

  1. Installazione tramite homebrew brew install lighttpd
  2. Creare un file di configurazione chiamato lighttpd.conf nella cartella in cui vuoi eseguire il server. [link:http://redmine.lighttpd.net/projects/lighttpd/wiki/TutorialConfiguration Qui] trovi un esempio.
  3. Nel file di configurazione deve essere cambiato il valore di server.document-root con la directory da cui vuoi servire i file.
  4. Avvialo con lighttpd -f lighttpd.conf
  5. Inserisci l'indirizzo http://localhost:3000/ nella barra degli indirizzi del browser, questo servirà file statici dalla cartella che hai scelto.

IIS

Se usi Microsoft IIS come web server. Per favore aggiungi le impostazioni del MIME type relative all'estensione .fbx prima del caricamento.

File name extension: fbx MIME Type: text/plain

Per impostazione predefinita IIS blocca i download di file .fbx, .obj. È necessario configurare IIS per abilitare il download di questo tipo di file

Altre semplici alternative sono [link:http://stackoverflow.com/q/12905426/24874 trattate qui] su Stack Overflow.