2012-09-16 16 views
8

Tengo una página de jade, y lo primero que hago es establecer una variable que determina el directorio base utilizado por todos los enlaces.Jade - establecer el directorio base según el entorno

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

Esto es en realidad para una página de GitHub, por lo que cada vez que representar la página HTML, tengo que recordar para cambiar la base y, a continuación, volver a cambiarlo de nuevo para la edición local.

Debe haber una mejor manera de hacerlo. Actualmente estoy pensando en tener un archivo sin seguimiento en la copia local, que incluye la base, pero ¿es realmente necesario?

¿Cuál es la mejor manera de manejar este problema?

Respuesta

10

Una solución más robusta sería la comprobación de las variables de entorno. Tenga NODE_ENV=production configurado en el servidor de producción, y no lo configure en el servidor de desarrollo.

Luego en su plantilla de jade, represente rutas diferentes si existe la variable de entorno.

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

o

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

Esto se ve bien a mí, gracias! –

+0

Probablemente sea mejor configurar una variable en la máquina de desarrollo, y luego usar ... 'base = process.env.klog_base_path? process.env.klog_base_path: "/ klog" ' –

+0

Incluso podría simplificarse a' base = process.env.klog_base_path || "/ klog"; '? –

Cuestiones relacionadas