express: a jump-start
TRANSCRIPT
![Page 1: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/1.jpg)
Express: A Jump-StartNaveen Pete
JS Meetup #4 (Saturday, July 23, 2016)
![Page 2: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/2.jpg)
Agenda● Introduction to Express
● Installing Express
● Middleware
● Serving Static Files
● Routing
● Template Engines
● Express Generator
● Q & A
![Page 3: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/3.jpg)
Introduction to Express● Node.js web application framework
● Minimal
● Flexible
● Fast
● Extensible
![Page 4: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/4.jpg)
Installing Express
1. Create an application directory
2. Make it your working
directory
3. Create package.json
4. Install Express and save it in
the dependencies list
$ mkdir myapp$ cd myapp$ npm init$ npm install express --save
![Page 5: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/5.jpg)
MiddlewareA function that has access to:
1. HTTP request object (req)
2. HTTP response object (res)
3. The next middleware function (next)
It can perform the following tasks:
● Execute any code
● Make changes to the request and the response objects
● End the request-response cycle
● Call the next middleware in the stack
To load the middleware
function, call app.use(),
specifying the middleware
function
Note: The order of loading
middleware is important
![Page 6: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/6.jpg)
Serving Static Files● Static files:
○ Image
○ CSS
○ JS
● Use built-in middleware function:
○ express.static()
Examples:
app.use(express.static(__dirname + ‘/public’));app.use(‘/static’, express.static(__dirname + ‘/public’));
![Page 7: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/7.jpg)
RoutingDefinition of application end points and how they respond to client requests
Where:
● app - an instance of express
● METHOD - an HTTP request method (lowercase)
● PATH - a path on the server
● HANDLER - the function executed when the route is matched
Note: Each route can have one or more handler functions
app.METHOD(PATH, HANDLER)
![Page 8: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/8.jpg)
RoutingRoute Methods
● Derived from one of the HTTP methods (GET, POST, PUT, DELETE, etc.)
● Is attached to an instance of the ‘express’ class
// GET method routeapp.get('/', function (req, res) { res.send('GET request to the homepage');});
// POST method routeapp.post('/', function (req, res) { res.send('POST request to the homepage');});
![Page 9: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/9.jpg)
RoutingRoute Paths
● Define the ‘endpoints’ at which requests can be made
● Can be strings, string patterns, or regular expressions
Endpoint
● A combination of a URI (path) and a HTTP request method (GET, POST, …)
Route Handlers
● Callback function - one or multiple
● Can be a function, an array of functions, or combinations of both
![Page 10: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/10.jpg)
RoutingResponse Methods
● Send a response to the client
● Terminate the request - response cycle
● If not called, the client request will be left hanging
Method Description
res.send() Send a response of various types
res.json() Send a JSON response
res.render() Render a view template
res.end() End the response process
![Page 11: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/11.jpg)
Routingexpress.Router
● Is used to create modular, mountable route handlers
● Instance is a complete middleware and routing system
● Often called as a “mini-app”
![Page 12: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/12.jpg)
Template EnginesA template engine:
● Enables you to use static template files in your application
● Replaces variables in a template file with actual values at runtime
● Transforms the template into an HTML file sent to the client
Popular template engines: Pug, Mustache, EJS
// set the following application setting propertiesapp.set(‘views’, ‘./views’);app.set(‘view engine’, ‘pug’);
// render the view fileres.render('index', { title: 'Hey', message: 'Hello there!'});
![Page 13: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/13.jpg)
Express Generator● An application generator tool
● Used to quickly create an Express application skeleton
Setting up
1. Install express-generator
2. Create an express app
3. Install dependencies
4. Run the app
$ npm install express-generator -g$ express myapp$ cd myapp$ npm install$ npm start
![Page 14: Express: A Jump-Start](https://reader038.vdocument.in/reader038/viewer/2022100801/589a08f31a28ab7a318b5435/html5/thumbnails/14.jpg)
Q & A
Thank you!