我发现一些代码在没有使用app.configure的情况下设置了Express,我想知道,在没有环境说明符的情况下使用app.configure和不使用它有什么区别?

换句话说,这两者的区别是什么:

var app = require(express);

app.configure(function(){
    app.set('port', process.env.PORT || config.port);
    app.use(express.logger('dev'));  /* 'default', 'short', 'tiny', 'dev' */
    app.use(express.bodyParser());
    app.use(express.static(path.join(__dirname, 'site')));
}

这是:

var app = require(express);

app.set('port', process.env.PORT || config.port);
app.use(express.logger('dev'));  /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser());
app.use(express.static(path.join(__dirname, 'site')));

谢谢

推荐答案

该文件称,它是可选的,并因遗留原因保留.

Update 2015:

@IlanFrumer指出这个应用程序.配置在Express 4中被删除.x、 如果你遵循一些过时的教程,并想知道为什么它不起作用,你应该删除app.configure(function(){ ... }.这样地:

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

app.use(...);
app.use(...);

app.get('/', function (req, res) {
    ...
});

Node.js相关问答推荐

序列化事务未按预期工作

Windows上使用ES6+的OpenAPI规范的Express服务器不接受嵌套路由'

MongoDB:更新批量操作中许多不能正常工作的内容

正在try 使用Azure Function App上载文件时未上载文件(&Q;)

NPM:无法导入本码模块

为什么我收到此错误:MissingSchemaError:架构尚未为模型&业务&注册

Nestjs重写子类dto nodejs中的属性

Puppeteer 在本地运行良好,但在 Heroku 中运行不佳

Redis Typescript 删除方法类型转换

结合后端(Express)和前端(Angular)路由

使用 NPM 三个 mocha+typescript 进行测试

将环境变量从 GitHub 操作传递到 json

将 express js app.use() 移动到另一个文件

Electron 模板(Typescript + Webpack)中的这个 Electron Forge ERROR 是什么?

Node.js |如何在微服务之间转发标头?

即使部署成功,也不会触发 Firebase 函数来填充 Firestore 集合.为什么?

在多个文件 node.js 之间共享和修改变量

Node.JS 中的基本 HTTP 身份验证?

如何从 Node.js 中的 URL 获取

fs.createWriteStream 不会立即创建文件?