Digamos que su aplicación es poco compleja. Entonces, lo que hacemos primero es dividir la aplicación en múltiples módulos para que los cambios en un módulo no abarroten a los demás y pueda seguir trabajando en módulos individuales, pero al final del día necesita integrar todo en uno ya que están creando una sola aplicación. Es como si tuviéramos una aplicación principal y pocas aplicaciones secundarias cuyo padre es la aplicación principal. Entonces, cuando creamos la aplicación principal, creamos una usando
var express = require('express');
var parent = express();
Y para esta solicitud principal necesitamos traer las solicitudes secundarias. Pero dado que las aplicaciones secundarias no son aplicaciones totalmente diferentes (ya que se ejecutan en el mismo término contexto-java), express proporciona la forma de hacerlo mediante la función del enrutador Expresse y esto es lo que hacemos en cada archivo de módulo secundario y llamemos a uno de esos módulos secundarios como aboutme .
var express = require('express');
var router = express.Router();
/**
** do something here
**/
module.exports = router;
Por module.exports estamos haciendo que este módulo esté disponible para que otros lo consuman y dado que hemos modularizado las cosas, necesitamos que los archivos del módulo estén disponibles para la aplicación principal mediante la función require del nodo, al igual que cualquier otro módulo de terceros y el archivo principal se ve algo como esto.
var express = require('express')
var parent = express()
var child = require(./aboutme)
después de que este módulo secundario esté disponible para los padres, debemos informarle a la aplicación principal cuándo usar esta aplicación secundaria. Digamos que cuando un usuario encuentra el camino sobre mí, necesitamos la aplicación secundaria sobre mí para manejar la solicitud y lo hacemos utilizando el método de uso de Expresse .
parent.use('/aboutme', aboutme);
y de una sola vez el archivo padre se ve así
var express = require('express');
var parent = express();
var child = require(./aboutme);
/***
**do some stuff here
**/
parent.use('/aboutme',child);
Sobre todo, lo que el padre puede hacer es iniciar un servidor donde el hijo no puede. Espero que esto aclare. Para obtener más información, siempre puede consultar el código fuente, que lleva algo de tiempo, pero le brinda mucha información. Gracias.
Router
no acepta.listen()
solicitudes por sí solo. Es útil para separar su aplicación en múltiples módulos, creando unoRouter
en cada uno queapp
puedarequire()
y.use()
como middleware.app.get(..)
sintaxis es solo un atajo para que trabajar seaexpress.router
más conveniente. Si recién comienza, no se preocupe por los detalles del enrutador.app's
propios métodos de enrutamiento, como por ejemploapp.get()
, son suficientes para sus necesidades, úselos. ElRouter
está ahí sólo por conveniencia para ayudar a organizar la aplicación a través de múltiples módulos. De la guía : " Laexpress.Router
clase se puede utilizar para crear controladores de ruta montables modulares. UnaRouter
instancia es un middleware completo y un sistema de enrutamiento; por esta razón, a menudo se lo conoce como una" mini aplicación " "