npm init --yes
npm install -s express
2- Create express lib and app variables
var express = require('express')
var app = express()
3- Instruct server to read from main dir and instruct server to start listening on port 3000 via the express app
app.use(express.static(__dirname))
server = app.listen(3000, () => {
console.log('server started in port'), server.address().port)
})
4- In main directory, create an index.html file and add (to the top of the index file):
- Doctype
- Jquery
- Bootstrap
<link crossorigin="anonymous" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" rel="stylesheet"></link>
<script crossorigin="anonymous" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script crossorigin="anonymous" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script crossorigin="anonymous" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
5- Add a simple text and button inputs by using default bootstrap classes:
<div class="container">
<br>
<div class="jumbotron">
<h1 class="display-4">
Send message
</h1>
<br>
<input class="form-control" placeholder="Name">
<br>
<button id="send" class="btn btn-success">Send</button>
</div>
<div id="messages">
</div>
</div>
6- Add a script that will inser/append our custom message inside the "#messages" div (by using JavaScript template literal variables)
<script>
// $() shorthand for document.ready() event function
// ()=> call back function with an arrow function
// it's like saying "when doc is ready,
// run this no-param arrow function
$(()=>{
$('#send').click(()=>{
addMessages({name: 'Tim', message: 'hello'})
})
})
function addMessages(message) {
$("#messages").append(`<h4> ${message.name} </h4> <p> ${message.message}</p>`)
}
</script>
7- Execute the js file via nodemonnodemon .\server.js
To sum up, here, we:
- Loaded node and express libraries in a js file
- Loaded bootstrap and jquery into an index.html file
- Instructed server actions via js file
- Inside the html file, created a function that inserts html + variables
- Inside the html file, we specified the action to take upon button click (use variables and append them to the html)
- Initialized server on port 3000
Result: string variables are added each time you click the send button
No comments:
Post a Comment