Install ‘npm’ and ‘nodejs’:
$ sudo apt install nodejs
$ sudo apt install npm
Create a directory and add in index.html file:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Mastering Web3 with Waves boilerplate</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<h1 class="display-3 text-center text-info">Hello Waves!</h1>
</body>
</html>
Add a package.json file (think Gemfile). Express is the web server:
{
"name": "hello-node-js",
"version": "0.1.0",
"dependencies": {
"express": "^4.16.4"
}
}
Install the dependesncies:
$ npm install
Create a server.js to serve the file:
const express = require('express')
const app = express()
const port = process.env.PORT || 9999
const fileName = 'index.html'
app.get('/', (req, res) => {
const options = {
root: __dirname,
dotfiles: 'deny',
headers: {
'x-timestamp': Date.now(),
'x-sent': true
}
}
res.sendFile(fileName, options, function (err) {
if (err) {
next(err)
} else {
console.log('Sent:', fileName)
}
})
})
app.listen(port, () => {
console.log(__dirname);
console.log("Listen: " + port);
})
Now run it:
jgriffiths@cynical:~/git/myTestServer$ node server.js
/home/jgriffiths/git/myTestServer
Listen: 9999