Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Express

Contenidos
  1. Express I
    1. Instrucciones para configurar Nodemon
  2. Instalación Express

Express I

Configurar un servidor web con Express

Instrucciones para configurar Nodemon

  • Ejecutar el siguiente comando:
      npm i -D nodemon
    
  • Agregar en la raíz un archivo llamado nodemon.json

  • Agregar el siguiente contenido al archivo

      {
        "env": {
          "NODE_ENV": "development",
          "PORT": 3000,
          "USERNAME": "<YOUR_USERNAME>"
        }
      }
    
  • Agregar a la sección “scripts” de package.json el siguiente script:
  "start:express-server": "nodemon express-server/server.js"
  • Ejecutar npm run start:express-server

Ahora a experimentar con las variables de ambiente y console.log.

Experimentemos utilizando lo módulos de NodeJS que ya conocemos utilizando fs.readFile en combinación con la función String.prototype.replace y utilizar la variable process.env.USERNAME para reemplazarla en los archivos .html que correspondan.

Tip: Utilizar la expresión regular

`/\s+username\s+/g`

Instalación Express

  • Vamos a instalar las siguientes librerías ejecutando:

      npm i express cookie-parser
    
  • Experimentaremos con la función express() y funciones como use() y next() para entender el concepto de middleware y como es que express nos entrega nuevos métodos para administrar el request y response

Finalmente dejaremos con el siguiente código el archivo server.js dentro de la carpeta express-server que debería verse como el siguiente código:

express-server/server.js

const express = require('express')
const path = require('path')
const cookieParser = require('cookie-parser')
const crypto = require('crypto')

const createHash = () => {
    const current_date = (new Date()).valueOf().toString();
    const random = Math.random().toString();
    return crypto.createHash('sha1')
      .update(current_date + random)
      .digest('hex');
  }

  const app = express()
  app.use(cookieParser())
  app.use( (req, res, next) => {
    if ( !req.cookies.sessionId ) {
        res.cookie( 'sessionId', createHash() )
    }

    next()
  })

  app.get('/', (req, res) => {
      res.sendFile(path.resolve('assets/index.html'))
  })
  app.get('/biography', (req, res) => {
      res.sendFile(path.resolve('assets/biography.html'))
  })
  app.get('/app.js', (req, res) => {
      res.sendFile(path.resolve('assets/app.js'))
  })

  app.listen(process.env.PORT, () => {
    console.log(`Application running on ${process.env.NODE_ENV} enviroment on ${process.env.PORT} port`)
})

¡Éxito!