[英]nodejs get current url in config file
我使用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?
您可以使用中間件來設置當前網址。
app.use(setCurrentUrl);
function setCurrentUrl(req, res, next) {
app.set('CURRENT_URL', req.protocol + '://' + req.get('host') + req.originalUrl);
next();
}
我認為您不太了解configure
功能, configure
在啟動應用程序時僅被調用一次 ,它是用來定義配置的,因此, configure一詞
我認為您認為此函數在每個請求都不會被調用。 您可以從該函數獲得的唯一URL是文件名和進程位置。
即。
__dirname;
process.cwd();
也許你想要app.use
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.