¿Por qué hay un () al final de var app = express(); cuando se hace referencia a express?
var express = require('express');
var app = express();
app. get( '/', function (req, res) {
res.send(' ¡Hola mundo!');
});
var servidor = aplicación .listen(3000, función () {
var host = servidor.dirección().dirección;
var puerto = servidor.dirección().puerto; consola.log ('Aplicación de ejemplo escuchando en http://%s:%s', host, puerto);
});
A continuación se analizarán varias API que aparecen en lo anterior. ejemplo:
var app = express();
Abra el directorio node_modules y busque el archivo fuente relevante: ./express/lib/express.js. Este archivo exporta la función createApplication.
express() llama a la función createApplication() y la variable de la aplicación es el valor de retorno de la función createApplication.
El siguiente es el constructor de la función createApplication:
function createApplication() {
// Crear objeto de aplicación
var app = function(req, res, next) {
app.handle(req, res, next
}; del nodo
mixin(app, EventEmitter.prototype, false
//Heredar ./objeto de aplicación
mixin(app, proto, false)
// p>
//app.request y la respuesta heredan de los objetos de solicitud y respuesta locales del nodo
app.request = { __req, app. : aplicación };
app .response = { __proto__: res, aplicación: aplicación }
//Inicializa el objeto de la aplicación
app.init(); ;
return app;
}
El método app.init() es llamado por el método app.init(), que se hereda de ./ aplicación.js.
El siguiente es el método de inicio en application.js:
app.init = function init() {
this.cache = {}
; p >
this.engines = {};
this.settings = { };
this.defaultConfiguration()defaultConfiguration(); ;
Por lo tanto, express() es esencialmente una llamada al método createApplication(), que devolverá un objeto express
Fin del análisis de express().