Node + Express.js: 如何将变量传递给路由?

Node + Express.js:how pass variable to a a route?

我是第一次使用 express-generator

所以我有

app.use('/', routes);

我添加了 iniparser

var iniparser = require('iniparser');
var config = iniparser.parseSync('./config.ini'); 

在 routes/index.js 我试过这个

router.get('/', function(req, res, next, config) {
    res.render('index', { title:config.title, message:config.message });
});

但是我得到了

404 Error: Not Found
   at app.use.res.render.message (C:\Users\realtebo\Documents\node\auto- express\app.js:36:15)

我做错了什么?

您可以使用路由调用的第二个参数:

router.get('/', config, function(req, res, next, config) {
...

但我认为最好的解决方案是在函数范围内声明变量:

router.get('/', function(req, res, next, config) {
    var iniparser = require('iniparser');
    var config = iniparser.parseSync('./config.ini'); 
    res.render('index', { title:config.title, message:config.message });
});

最好的方法是在另一个文件中声明您的路由代码