In Express, I'm led to believe that global app settings can be created by doing something similar to the following in my main app.js
file:
var express = require('express'),
...
login = require('./routes/login');
var app = express();
app.configure(function(){
...
app.set('ssoHostname', 'login.hostname.com');
...
});
...
app.get('/login', login.login);
...
now in ./routes/login.js
, I'd like to access app.settings.ssoHostname
, but if I attempt to run anything similar to (as per: How to access variables set using app.set() in express js):
...
exports.login = function(req, res) {
var currentURL = 'http://' + req.header('host') + req.url;
if (!req.cookies.authCookie || !User.isValidKey(req.cookies.authCookie)) {
res.redirect(app.settings.ssoHostname + '/Login?returnURL=' + encodeURIComponent(currentURL));
}
};
...
it does not recognize app
:
ReferenceError: app is not defined
My questions are:
app.set()
for global settings that will be re-used often the "proper" way to do it and if so...app.set()
for global settings to be used often, how would I set and get custom settings in routes?The express. Router() function is used to create a new router object. This function is used when you want to create a new router object in your program to handle requests.
Answer: A is the correct option. By using app. route() method, we can create chainable route handlers for a route path in Express.
Route parameters are named URL segments that are used to capture the values specified at their position in the URL. The captured values are populated in the req. params object, with the name of the route parameter specified in the path as their respective keys.
The arguments available to an Express. js route handler function are: req - the request object. res - the response object.
Use req.app.get('ssoHostname')
At the end of your app.js
file:
module.exports = app;
And then in routes/login.js
:
var app = require('../app');
Now you have access to the actual app
object and won't get a ReferenceError
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With