2016-09-14 2 views

Antwort

1

Damit können Sie einfach auf Ihre Werte über app.settings.superSecret und nichts anderes zugreifen.

Das gute daran ist, dass Sie nicht Ihr config Objekt in jede Datei importieren müssen! Sie können den Wert direkt von app.settings greifen.

Es kommt wirklich auf die persönliche Entscheidung an.

Ich empfehle Ihnen, auf die Dokumentation auf ausdrücklichen über nachlesen: expressjs.com/en/4x/api.html

Der Grund für eine globale Konfigurationsdatei wird so können Sie bestimmte Umgebungen und verstecken verwenden die geheimen Daten von sagen github oder bitbucket (eine Art Versionskontrolle Service). Sie würden Ihre geheimen Daten nicht zu github, bitbucket oder einem anderen ähnlichen Dienst hochladen. Wenn ich Umgebungen sage, meine ich Produktion, Entwicklung, lokal usw. Sie könnten eine Funktion in Ihrer Konfigurationsdatei haben, die bestimmte Objekte zurückgibt. ZB

var env = { 
    production: { 
    ... env vars 
    }, 
    local: { 
    ... local vars 
    } 
} 

export default env["production"]; // You would change something here or 

Beachten Sie, dass dies ein sehr einfaches Beispiel dafür ist, wie Sie Ihre Umgebungsvariablen ändern können. Sie können einfach env["production"] to env["local"] ändern, um Ihre Umgebung zu tauschen.

+0

Oh ich sehe. In diesem Fall, wenn Sie sich das Beispiel ansehen ... werden Sie feststellen, dass der Autor eine 'config.js'-Datei speziell zum Hosten globaler Konfigurationsdateien erstellt hat ... Ich frage mich, warum er nicht nur' app 'verwendet hat. set 'für alle Variablen stattdessen. Warum sollte jemand eine globale Konfigurationsdatei erstellen und dann immer noch "app.set" verwenden? Wird das empfohlen? – Grateful

+0

Neueste Express-Dokumentation ist unter https://expressjs.com/en/4x/api.html – robertklep

+0

@ James111 Vielen Dank für die Erklärung Kumpel. – Grateful

0

Verwendung express session

server.js

var config = require('./config'); 
var session = require('express-session'); 
app.use(session({ 
    saveUninitialized: true, 
    resave: true, 
    secret: config.sessionSecret 
})); 

config.js

module.exports = { 
sessionSecret: "very-secret" // or if loading from your .env **sessionSecret:process.env.SECRET** 
} 
Verwandte Themen