2012-09-16 1 views
8

Ich habe eine Jade-Seite, und das erste, was ich tue, ist eine Variable, die das Basisverzeichnis für alle Links bestimmt.Jade - Basisverzeichnis je nach Umgebung einstellen

if ! base 
    base = '/klog/' 
    // base = '/website-clear/klog/' 

Diese eigentlich für eine Github Seite ist, so machen jedes Mal, wenn ich die Seite HTML, muss ich erinnere mich an die Basis zu ändern, und es dann wieder für die lokale Bearbeitung ändern zurück.

Es muss einen besseren Weg geben, es zu tun. Momentan denke ich daran, eine nicht nachverfolgte Datei in der lokalen Kopie zu haben, die die Basis enthält - aber ist das wirklich notwendig?

Was ist der beste Weg, um dieses Problem zu behandeln?

Antwort

10

Eine robustere Lösung wäre die Suche nach Umgebungsvariablen. Haben Sie NODE_ENV=production auf dem Produktionsserver festgelegt und nicht auf dem Dev-Server.

Dann rendern Sie in Ihrer Jade-Vorlage verschiedene Pfade, wenn die Umgebungsvariable existiert.

if 'production' == process.env.NODE_ENV 
    - base = '/website-clear/klog/' 

oder

- base = ('production' == process.env.NODE_ENV ? '/website-clear/klog/' : '/klog'); 
+0

Dies ist für mich gut aussieht, danke! –

+0

Wahrscheinlich besser, eine Variable auf dem Dev-Rechner zu setzen, und dann verwenden Sie ... 'base = process.env.klog_base_path? process.env.klog_base_path: "/ klog" ' –

+0

Das könnte sogar auf' base = process.env.klog_base_path || vereinfacht werden "/ klog"; '? –