Je suis en train d'obtenir des variables que je peux obtenir partout dans mon code j'ai trouvé une solution, mais ce n'est pas très propreexpress Variable globale node.js
//environment.js
module.exports.appName = "appName";
et mes app.js
var express = require('express')
, routes = require('./routes/main')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
environment = require('./environment');
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('stylus').middleware(__dirname + '/public'));
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.home);
app.get('/users', user.list);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
De cette façon, mon var fonctionne, je peux accéder environment.appName partout, mais Y aurait meilleure solution
Merci
Les variables globales IMHO sont une mauvaise solution en général. Donc, il n'y a probablement pas de «solution propre» pour une mauvaise chose à faire. – dave
Dans le cas de la connexion à la base de données (initialisée au démarrage et un seul objet pendant toute la durée de vie du serveur), il s'agit d'une bonne approche. –
Content que tu aies posté ceci, merci ... m'a aidé un peu. Passer au nœud maintenant et essayer de comprendre les choses. Je ne sais toujours pas ce que fait le 'app.configure ('development', function() {});' même si je l'utilise. Est-ce que cela place l'environnement dans le «développement» et ensuite commentez-le lorsque vous passez à la production? – BRogers