2016-06-04 8 views
0
var express = require('express'); 
var app = express(); 
var db_url; 
if(app.get('env') == "development"){ 
db_url = 'mongodb://127.0.0.1:27017/localhost'; 
}else{ 
db_url = 'something else'; 
} 

console.log(app.get('env'));app.get ('env') Verwendung in localhost und Produktion

Was bedeutet app.get('env') in Express bedeutet? Ich sehe es immer noch drucken development, wenn ich meinen Code auf Live-Server bereitstellen.

Antwort

2

Sie müssen sagen, dass Sie sich im Produktionsmodus befinden. siehe part of the Express docs.

In der Entwicklung setzen Sie in der Regel Umgebungsvariablen in Ihrer interaktiven Shell, z. B. mithilfe von export oder Ihrer .bash_profile-Datei. Aber im Allgemeinen sollten Sie das nicht auf einem Produktionsserver tun; Verwenden Sie stattdessen das init-System Ihres Betriebssystems (systemd oder Upstart). Der nächste Abschnitt enthält weitere Details zur Verwendung Ihres init-Systems im Allgemeinen, aber die Einstellung von NODE_ENV ist so wichtig für die Leistung (und einfach zu machen), dass es hier hervorgehoben wird.

Verwenden Sie bei Upstart das Schlüsselwort env in Ihrer Jobdatei. Zum Beispiel:

# /etc/init/env.conf 
env NODE_ENV=production 

Weitere Informationen finden Sie im Upstart Intro, Cookbook und Best Practices.

Verwenden Sie bei Systemd die Direktive Environment in Ihrer Unit-Datei. Beispiel:

# /etc/systemd/system/myservice.service 
Environment=NODE_ENV=production 

Weitere Informationen finden Sie unter Verwenden von Umgebungsvariablen in systemd Units.

Wenn Sie StrongLoop Process Manager verwenden, können Sie die Umgebungsvariable auch festlegen, wenn Sie StrongLoop PM als Dienst installieren.

Sie können auch process.env.NODE_ENV in einer JavaScript-Datei angeben, falls erforderlich.

Verwandte Themen