【问题标题】:How to use connect middlware with node.js expess 4?如何将连接中间件与 node.js express 4 一起使用?
【发布时间】:2016-02-02 03:38:11
【问题描述】:

我仍在学习 node.js 并尝试将connect 中间件添加到此代码中:

var express = require('express')
var hbs = require('express-handlebars');

var connect = require('connect'),
path = require('path'),
hbs = require('express-handlebars');


app = express();
app.engine('handlebars', hbs(
{defaultLayout: 'main',
layoutsDir: app.get('views') + '/layouts',
partialsDir: [app.get('views') + '/partials']
}));
app.set('view engine', 'handlebars');

app.set('port', process.env.PORT || 3300);
app.set('views', __dirname + '/views');

var server = app.listen(app.get('port'), function() {
console.log('Server up: http://localhost:' + app.get('port'));
});

但是连接文档上的示例代码还包含:

var app = connect();

这会与 express 想要的相矛盾。所以我想知道如何同时拥有这两者,以便我可以使用这些中间件:

app.use(connect.json());
app.use(connect.urlencoded());
app.use(connect.methodOverride());
app.use(connect.cookieParser('some-secret-value-here'));

我已搜索但找不到关于此的最新代码示例。

【问题讨论】:

  • 您不再使用 Express 连接。 Express 有自己的内置中间件。如果 connect 用于中间件,您可能正在查看早期版本的 Express 的旧文档。
  • @jfriend00 没错。我正在读一本使用 express3 的书。那么现在如何添加中间件呢?
  • 最好转到middleware page on the ExpressJS site。当现在每个人都在使用 4.x 时,一本 Express 3.x 的书不会有太大帮助。只是app.use(function(req, res, next) {...});。更多示例here,包括使用第 3 方中间件。

标签: node.js express connect


【解决方案1】:

一本记录 Express 3 的书在使用 Express 4 时会在很多方面产生误导,因为过去使用 Connect 的许多功能现在都内置在 Express 4 中。The Express JS web site 确实非常好并且您几乎可以在该站点上看到有关中间件的任何信息。

例如,这里是a page about the built-in middleware

【讨论】:

    猜你喜欢
    • 2018-11-11
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多