1
1
mirror of https://github.com/namibia/awesome-cheatsheets.git synced 2024-11-24 21:57:38 +00:00
awesome-cheatsheets/backend/express.js
2021-06-04 16:17:37 +05:30

226 lines
7.4 KiB
JavaScript

/* *******************************************************************************************
* API
* http://expressjs.com/en/api.html
* ******************************************************************************************* */
`npm i express --save` or`yarn add -D express``(-D saves it as a dev dependency)`
`yarn add -D @types/express``(Installing for TS)`
const express = require("express"); // Importing the express library.
const app = express(); // Intializing the imported express application
/* *******************************************************************************************
* GLOBAL OBJECTS
* http://expressjs.com/en/api.html#express.json
* ******************************************************************************************* */
```Methods```;
`express.json([options]);`
options: `
inflate // to manage the deflated bodies like enabling and disabling
limit // Controls the maximum request body size.
reviver // It is passed directly to JSON.parse as an second argument
type // This is used to determine the type of middleware will parse
verify // It is an undefined function which used to verify the middleware parsing.
`;
`express.raw([options]);`
options: `
inflate // to manage the deflated bodies like enabling and disabling
limit // Controls the maximum request body size.
type // This is used to determine the type of middleware will parse
verify // It is an undefined function which used to verify the middleware parsing.
`;
`express.Router([options]);`
options: `
caseSensitive //Enables case sensitivity
mergeParams //if param names of child and parent are conflicted then the child takes the precedence
strict // Enables Strict routing
`;
`express.static(root, [options]);`
options: `
dotfiles // determines how dotfiles are used
etag // Operates etag generation
extensions // Operates file extension fallback
fallthrough // Enable or disable the immutable directive in the Cache-Control response header
index // sends the specified directory index file
LastModified // sets the Last-Modified header to the last modified date
setHeaders // Function for setting HTTP headers to serve with the file
`;
`express.text([options]);`
options: `
defaultCharset // Sets the default charset for the text context.
inflate // to manage the deflated bodies like enabling and disabling
limit // Controls the maximum request body size.
type // This is used to determine the type of middleware will parse
verify // It is an undefined function which used to verify the middleware parsing.
`;
`express.urlencoded([options]);`
options: `
extended // it allows to choose between parsing the URL-encoded data or the qs library
parameterLimit // It controls the no of params.
inflate // to manage the deflated bodies like enabling and disabling
limit // Controls the maximum request body size.
type // This is used to determine the type of middleware will parse
verify // It is an undefined function which used to verify the middleware parsing.
`;
```Application`````;
Properties```app.local`;
`app.locals.title = "My Cheatsheet";
console.dir(app.locals.title)`; `// Creating objects with local variables`
app.mountpath`
``app.mountpath``const admin = express()
admin.get('/', function(req,res){
console.log(admin.mountpath)
res.send('Admin Homepage')
})
app.use('<admin dir>', admin)`; `// Mounting a sub - app`
``Event``
`admin.on('mount', (parent){
console.log('Admin Mounted')
})` `// Mounting on a parent app`
``Methods``
`app.get('/', function(req, res){
res.send('GET request to message')
})` `// get requests to the specified path`
`app.post('/', function(req,res){
res.send('POST request to a webpage')
})` `// post request to the specified path`
`app.put('/', function(req,res){
res.send('PUT request to a webpage')
})` `// post request to the specified path`
`app.delete('/', function(req,res){
res.send('DELETE request to a webpage')
})` `// delete request to the specified path`
`app.all('/', function(req,res,next){
console.log('Accessing the secret section....')
next()
})` `// Routing all types of HTTP request`
`app.param('user', function(req,res,next){
User.find(id, function(err, user){
if(err){
next(err)
} else if (user){
req.user = user
next()
} else {
next(new Error('Failed to load user'))
}
})
})` `// Adding callback trigger to route parameters`
`app.use(function(req,res,next){
res.send('Hey There!')
})` `// To Invoke the middleware layer that you want to add`
```Request```
``Methods``
`req.get('content-type')` `// Returns the specified HTTP req header`
`req.accepts('html')` `// Checks if the specified content types are available or not`
`req.is('json')` `// Requests the matching content-type`
`var range = req.range(1000)
if (range.type === 'bytes'){
range.forEach(function(r){
// Your code
})
}` `// Range header parser`
``Properties``
`req.param('name')` `// Requests the param name when present`
`app.post('/', function (req, res, next) {
console.log(req.body)
res.json(req.body)
})` `// Data submitted in the request body`
`console.dir(req.cookies.name)` `// Contains cookies sent by the request`
`console.dir(req.query.q)` `// Query string parameter in the route`
`console.log(req.route)
res.send('GET')` `// Outputs all the layer, methods, path`
`console.dir(req.signedCookies.user)` `// Logs all the signed cookies sent by the request`
```Response```
``Methods``
`res.redirect('https://google.com')` `// Redirects to the intended page`
`res.send({message: 'Awesome Stuffs'})` `// Response to the webpage`
`res.json({alert: 'awesomecheatsheets'})` `// Response in JSON type`
`const file = req.params.name;
res.sendFile(file, options, function(err){
if(err){
next(err)
}else{
console.log('Sent:', file)
}
})` `// Sends file to the intended path`
`res.render('index')` `// Rendering the intended file`
```BodyParser```
`const BodyParser = require('body-parser')
app.use(BodyParser.json())
app.use(BodyParser.urlencoded({
extended: true
}))` `// Parses incoming request bodies`