Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
|
wiki2:nodejs:express [2017/05/10 17:31] alfred creado |
wiki2:nodejs:express [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 23: | Línea 23: | ||
| app.get('/', fucntion(req, res) { | app.get('/', fucntion(req, res) { | ||
| res.send('Hello world'); | res.send('Hello world'); | ||
| + | }); | ||
| + | </code> | ||
| + | <code> | ||
| + | app.post('/users/add', function(req, res){ | ||
| + | console.log(req.body.firstName); | ||
| + | res.redirect('/'); | ||
| + | }); | ||
| + | </code> | ||
| + | <code> | ||
| + | app.delete('/users/:id', function(req, res) { | ||
| + | console.log(req.params.id); | ||
| }); | }); | ||
| </code> | </code> | ||
| + | |||
| + | === Things to do with the response === | ||
| + | Return a variable in its json format: ''res.json(person);'' | ||
| ==== Special functions ==== | ==== Special functions ==== | ||
| + | ''use'' is important to put it before any request. | ||
| <code> | <code> | ||
| var logger = function (req, res, next){ | var logger = function (req, res, next){ | ||
| Línea 34: | Línea 49: | ||
| app.use(logger); | app.use(logger); | ||
| </code> | </code> | ||
| + | |||
| + | Set the view engine | ||
| + | <code> | ||
| + | app.set('view engine', 'ejs'); | ||
| + | // with this we can render views: | ||
| + | res.render('index'); | ||
| + | </code> | ||
| + | |||
| + | Set the views folder: | ||
| + | <code> | ||
| + | app.set('views', path.join(__dirname, 'views'); | ||
| + | </code> | ||
| + | |||
| + | Set global variables | ||
| + | <code> | ||
| + | app.use(function(req, res, next) { | ||
| + | res.locals.errors = null; | ||
| + | next(); | ||
| + | }); | ||
| + | </code> | ||
| + | |||
| + | === Static path === | ||
| + | Add a "public" path: | ||
| + | <code> | ||
| + | var path = require('path'); | ||
| + | app.use(express.static(path.join(__dirname, 'public')); | ||
| + | </code> | ||
| + | |||
| + | ===== Notes ===== | ||
| + | |||
| + | ==== Modular applications ==== | ||
| + | |||
| + | I generally use 1 file per route and put all my routing files in a routes folder and leverage the Router available in express. | ||
| + | |||
| + | A route file could look like this: | ||
| + | <code> | ||
| + | var express = require('express'); | ||
| + | var router = express.Router(); | ||
| + | router.get('/', function (req, res) { | ||
| + | res.send('Hello World!'); | ||
| + | }); | ||
| + | |||
| + | module.exports = router; | ||
| + | </code> | ||
| + | Then in the app file, simply add: | ||
| + | <code> | ||
| + | var example = require('./routes/example'); | ||
| + | app.use('/', example); | ||
| + | </code> | ||
| + | The routes in the routing file are relative to the route you declare in app.use. | ||