ExpressJS require

ExpressJS require

本文关键字:require ExpressJS      更新时间:2023-09-26

我读过Express.JS 4.x API,很好奇他们是如何设置的。以下是我对正在发生的事情的理解:在Express.JS 4.x API中的示例代码中,Express模块被导入并分配给变量Express。然后,该变量被用于调用express构造函数,并被分配给变量应用程序。

var express = require('express');
var app = express();
app.get('/', function(req, res){
  res.send('hello world');
});
app.listen(3000);

如果express模块直接分配给应用程序,或者上面的分配只是为了可读性,会有区别吗?如下:

var app = require('express')();

节点模块可以返回既是构造函数又具有属性的构造函数(因为函数是可以具有属性的对象)。

第一个方法允许您访问构造函数可能具有的任何其他属性或方法。第二个方法不允许这样做,因为它没有保留对构造函数的引用。

在ExpressJS文档中,我确实看到了一些通过express对象引用的项目,例如:

var express = require('express');
var app = express();
var router = express.Router();
router.get('/', function (req, res, next) {
    next();
});
app.use(router);

var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));

如果你不需要保留对构造函数的引用来访问它上的其他方法,那么你的两个选项之间没有区别,因为它们执行相同的代码。您的第二个步骤没有保留对中间步骤的引用,该中间步骤可以稍后用于访问其他内容。