我使用express框架,这是我的app.js文件
var express = require('express');
var app = module.exports = express();
var config = require('./config.js')(app, express); // I include config.js here
var models = {};
models.item = require('./models/item')(app.mongoose, app).model;
require('./routes')(app, models);
app.listen(process.env.PORT || 3000);
正如你所看到的,我在第 3 行包含了 config.js 文件。这是我的 config.js 文件:
module.exports = function(app, express){
var config = this;
//generic config
app.configure(function(){
app.set('CURRENT_URL', '***'); // I don't know how to get current URL here
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: 'topsecret' }));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
return config;
};
在第 6 行,我将 CURRENT_URL 设置为“*”。如何检测这个地方当前的URL?
最佳答案
您可以使用中间件来设置当前 url。
app.use(setCurrentUrl);
function setCurrentUrl(req, res, next) {
app.set('CURRENT_URL', req.protocol + '://' + req.get('host') + req.originalUrl);
next();
}
关于javascript - nodejs获取配置文件中的当前url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22283298/