Para crear un servidor web simple con NodeJS y Express, todos los tutoriales dan ejemplos como este
const express = require('express'); const app = express(); app.listen(3000, () => console.log("Started")) app.get('/', (req, res) =>{ res.send("Yaaa") })Mi pregunta es, ¿por qué no escribirlo así?
const app = require('express')(); app.listen(3000, () => console.log("Started")) app.get('/', (req, res) =>{ res.send("Yaaa") })La única diferencia es fusionar las líneas 1 y 2, en la medida en que ya no voy a usar/necesitar la constante "express".
¿Es eso incorrecto? ¿Y por qué?
Por lo que sé sobre el marco expreso. Express nos expone a muchas funciones útiles. Si no require o import express en nuestra aplicación, nuestra aplicación no podrá usar esas funciones.
Por ejemplo, si está creando algunas API REST, necesitamos nuestras API para tomar raw form-data o sin formato como entrada. Si queremos permitir que nuestra aplicación tome raw-json como entrada, debemos agregar un middleware que consuma una función express incorporada.
app.use(express.json()) Si desea crear una aplicación que tenga una carpeta separada para todas las rutas. Luego, usamos express.Routes() para eso. Así es como creamos un archivo de rutas en una carpeta de rutas separada:
import express from 'express'; import userController from 'path/to/user/controller'; const router = express.Router(); router.post('/follow/:userid/:following', helper.verifyToken, userController.follow); router.get('/someRoute', userController.someAction); export default router; Del mismo modo, si queremos servir algo de HTML estático o algo react-build . Luego, usamos express.static() dentro del middleware app.use() como este:
app.use(express.static('/path/to/static/folder'));Siempre que no necesite acceder al módulo express en otra parte de este archivo, haga lo siguiente:
const app = require('express')();Es la mejor manera.
Pero si requerimos usar este módulo expreso una y otra vez. Como a continuación
const app = require('express')(); const friendsRouter = require('express').Router();Entonces se convierte en un problema y lo necesita una y otra vez.
Entonces, para hacer que nuestro código sea menos redundante, usamos un enfoque dado normal. Como en el siguiente código:
const express = require('express'); const app = express(); const friendRouter = express.Router();