This is a sample basic Node.js website using plain HTML files and the built in http and fs modules.
This tutorial will walk you through the creation of a very basic website using only Node.js built in modules. Follow these steps to create a Node.js website:
- 
Create a folder for your Node.js project. 
- 
Create a home page HTML and call it index.html. Add the required HTML tags and some basic content in theindex.htmlfile.
- 
Create a second file and for now, call it another-page.html. Add the required HTML tags and some basic content in theanother-page.htmlfile.
- 
Add a link in the index.htmlpage toanother-page.html. And add a link in theanother-page.htmltoindex.html. This will allow for easy testing of pages.
- 
Create a new file called app.js.
- 
In app.jsimport the required modules:var http = require('http'); var url = require('url'); var fs = require('fs'); 
- 
Create an http server: http.createServer(function (req, res) { }).listen(8080); This will start a web server. The server is available to test by opening a browser and using the URL http://localhost:8080/index.html.
- 
Inside the createServerfunction add code to fetch the current URL:var q = url.parse(req.url, true); var filename = "." + q.pathname; 
- 
Inside the createServerfunction, after the the previous lines of code, add code to load the appropriate HTML file based on the URL. For example the URLhttp://localhost:8080/index.htmlwill load theindex.htmlfile.fs.readFile(filename, function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); return res.end(); }); 
- 
Inside the readFilefunction, add code that will display an error message in case the requested URL does not match an exsting file:if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); return res.end("404 Not Found"); } 
- 
To test your Node.js website, open up a terminal, use cdto navigate to your project folder, and usenode app.jsto start your file. Then open a browser and visit the URLhttp://localhost:8080/index.html.
Your final code in app.js should look like this:
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
  var q = url.parse(req.url, true);
  var filename = "." + q.pathname;
  fs.readFile(filename, function(err, data) {
    if (err) {
      res.writeHead(404, {'Content-Type': 'text/html'});
      return res.end("404 Not Found");
    } 
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);Full tutorial URL:
https://codeadam.ca/learning/nodejs-website.html
