-
Notifications
You must be signed in to change notification settings - Fork 0
How to run things locally
If you use just procedural geometries and don't load any textures, webpages should work straight from the file system, just double-click on HTML file in a file manager and it should appear working in the browser (accessed as file:///example
).
If you load models or textures from external files, due to browsers' "same origin policy" security restrictions, loading from a file system will fail with a security exception.
There are two ways how to solve this:
-
Change security for local files in a browser (access page as
file:///example
) -
Run files from a local server (access page as
http://localhost/example
)
If you use option 1, be aware that you may open yourself to some vulnerabilities if using the same browser for a regular web surfing. You may want to create a separate browser profile / shortcut used just for local development to be safe.
Start Chrome executable with a command line flag:
chrome --allow-file-access-from-files
On Windows, the easiest is probably to create a special shortcut which has added flag (right-click on shortcut -> properties -> target).
- Go to
about:config
- Find
security.fileuri.strict_origin_policy
parameter - Set it to
false
The simplest probably is to use Python's built-in http server.
If you have Python installed, it should be enough to run this from a command line:
# Python 2.x
python -m SimpleHTTPServer
# Python 3.x
python -m http.server
This will serve files from the current directory at localhost under port 8000:
If you have Ruby installed, you can get the same result running this instead:
ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
PHP also has a built-in web server, starting with php 5.4.0:
php -S localhost:8000
Of course, you can use any other regular full-fledged web server like Apache or nginx.
Example with lighttpd, which is a very lightweight general purpose webserver (on MAC OSX):
- Install it via homebrew
brew install lighttpd
- Create a configuration file called lighttpd.conf in the directory where you want to run your webserver. There is a sample in this page.
- In the conf file, change the server.document-root with the directory you want to serve
- Start it with
lighttpd -f lighttpd.conf
- Navigate to http://localhost:3000/ and it will serve static files from the directory you chose.