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