Express Lab 1 - Frasier
Make sure you shut down your previous app
- be sure to have
control c
your previous app if you were running one before starting this new activity
Basic Express App
- Create a new directory called
frasier
cd
intofrasier
- perform an npm init, specify
server.js
as your entry - install express, tell npm to save express as a dependency in package.json
- create a
server.js
file - inside
server.js
, require express and save it to a variable namedexpress
- create a variable named app, and set it equal to
express()
-
have app listen on port 3000
- once it's listening, log "Hello, Seattle. I'm listening..."
- test it by going to
http://localhost:3000
Routes
-
create a GET route for
/frasier
- it should send a response of "Once in prep school, the Existentialist Club once named me 'Most Likely to Be'"
- test the
/frasier
route by going tohttp://localhost:3000/frasier
-
create a GET route for
/niles
- it should send a response of "You know, sometimes I wonder if I'm not just in psychiatry for the money"
- test the
/niles
route by going tohttp://localhost:3000/niles
-
create a GET route for
/daphne
- it should send a response of "Well, have fun. I'm off to stick my head in the oven."
- test the
/daphne
route by going tohttp://localhost:3000/daphne
-
create a GET route for
/roz
- it should send a response of "Let me make it easy for you. Freaks! Freaks on line 1. Freaks on line 2! Freaks! Everywhere!"
- test the
/roz
route by going tohttp://localhost:3000/roz
-
create a GET route for
/martin
- it should send a response of "You may think it's tough being middle-aged, but think about me. I got a son who's middle-aged."
- test the
/martin
route by going tohttp://localhost:3000/martin
Are URLs case sensitive? Let's test:
- create a GET route for
/Scrappy
- it should send a response of "woof"
- test the
/Scrappy
route by going to... http://localhost:3000/scrappy
- what happened?http://localhost:3000/Scrappy
- what happened?
Simpsons
Refer back to previous section and notes/demos for steps, if necessary
- Create a directory called "simpsons"
-
Get a basic express server running
- Install express
- No routes
- Just have the app listen
- Test to make sure it works in the browser
- Create a route for Homer
- Test the Homer route
- Create a route for Marge
- Test the Marge route
- Create a route for Bart
- Test the Bart route
- Create a route for Lisa
- Test the Lisa route
- Create a route for Maggie
- Test the Maggie route
- Create a route for Snowball II (spaces won't work, so just make it one word or add dashes in between each word)
- Test the Snowball II route
- Create a route for Santa's Little Helper (apostrophes won't work, so just remove it in the route)
- Test the Santa's Little Helper route
HTML site
The topic is yours. Try to do it all from memory
- Create a basic app with multiple routes
- When it comes time to do res.send, instead of just text, send html
-
To get res.send to work with line breaks in the html, change single/double quotes to backticks
res.send(` <html> <body> <h1>Oh ha!</h1> </body> </html> `);
Hungry For More
Some of you will zip through this lab
- Work on practicing Bootstrap (see morning exercise for an activity that you'll work on after lunch as well
- Learn about JavaScript's Event Loop this is great stuff but you'll likely need to watch it a few times to get it all down