Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
p5js-local-server [2024/02/20 20:32] renickp5js-local-server [2024/03/06 22:41] (current) renick
Line 25: Line 25:
   - use your browser to access the IP address indicated by http-server   - use your browser to access the IP address indicated by http-server
  
-Let's look at each step in detail.+Let's look at each step in detail. We're going to self-host this poor sketch: 
 + 
 +{{:p5js-example.png?600|}} 
 + 
 +If you want to follow along with my files, you can: 
 + 
 +https://editor.p5js.org/renick/sketches/m7IFTbDxm 
 + 
 +I'd suggest using one of your own, though!
  
 ===== install nodejs and npm ===== ===== install nodejs and npm =====
Line 50: Line 58:
  
 https://www.npmjs.com/package/http-server https://www.npmjs.com/package/http-server
 +
 +On a Mac, I recommend this process:
 +
 +  - In your Documents folder, create a folder called 'javascript'.
 +  - In that folder, run the command: npm install http-server.
 +
 +Here's a tutorial on using the terminal on a Mac: https://macpaw.com/how-to/use-terminal-on-mac
 +
 +Here's a tutorial on using the terminal on a Windows: https://www.freecodecamp.org/news/command-line-commands-cli-tutorial/
  
 ===== make a directory for your project ===== ===== make a directory for your project =====
 +
 +I usually make a directory for each sketch while I'm working. Web servers don't deal well with file names or directory names that contain characters other than the alphabet and numbers, so be sure to limit the name of the directory and the files in it in this way. You can download your files as a zip from the editor and then even use the unzipped directory to host the files, though the directory name is kind of long.
 +
 +{{::p5js-download.jpg?400|}}
 +
 +I'd put this in the javascript directory that you made above.
  
 ===== put the necessary files in the directory ===== ===== put the necessary files in the directory =====
 +
 +If you downloaded them from the editor, then you'll have all of the files in the zip. That includes:
 +
 +  - sketch.js
 +  - the p5js libraries: p5.js and p5.sound.min.js
 +  - index.html
 +  - style.css
 +
 +If you are creating from scratch rather than downloading, be sure to have all of these files and make sure that your index.html references them correctly. Download a sketch from the editor to see one correct way.
  
 ===== run http-server from the command line in that directory ===== ===== run http-server from the command line in that directory =====
 +
 +Open a terminal and change to the directory where the index.html is located. Any files which you have in this directory will be accessible by the web server which you are about to launch.
 +
 +In the terminal, run the command:
 +    http-server
 +
 +If the command is not found, be sure that the directory where the bin of http-server is on your system's PATH. Fixing this will depend on your operating system.
 +
 +If your PATH is configured correctly, you should see something like this in the terminal:
 +
 +{{::httpserver-example.png|}}
 +
 +If http-server is not in your system PATH, then you need to call it explicitly with the path to the binary executable. That's in the location ./node_modules/.bin/. That means you'll have to launch http-server with a command like (but be sure to adjust the path correctly!):
 +
 +   ./node_modules/.bin/http-server
 +   
 +For more on paths, see this tutorial: https://www.geeksforgeeks.org/absolute-relative-pathnames-unix/
  
 ===== use your browser to access the IP address indicated by http-server ===== ===== use your browser to access the IP address indicated by http-server =====
  
 +http-server will present addresses which you can use in your browser to see the sketch. In the example above, you can see these:
 +
 +    http://127.0.0.1:8080
 +    http://10.247.239.211:8080
 +
 +In my case, either of these can be used. In your case, you probably have the same first choice and a different second choice. Copy one of them from YOUR case and paste it in the address bar in your browser and hit enter. You should then be able to see your sketch in the browser. It looks like this for me:
  
 +{{::sketch-hosted.png|}}
  • p5js-local-server.1708489943.txt.gz
  • Last modified: 3 months ago
  • by renick