Esta página parece decir que es posible pero no entra en muchos más detalles que eso.
puerro
Respuestas:
152
También puede establecer la ruta desde la que se enviarán los archivos estáticos a la web especificando un (primer) parámetro adicional para use()que así:
De esa manera, obtiene dos directorios diferentes en la web que reflejan sus directorios locales, no una ruta de URL que falla entre dos directorios locales.
En otras palabras, el patrón de URL:
http://your.server.com/public/*
Sirve archivos del directorio local publicmientras:
http://your.server.com/public2/*
Sirve archivos del directorio local public2.
Por cierto, esto también es útil si no desea que la estática sirva los archivos desde la raíz de su servidor, sino desde una ruta más calificada.
Perfecto @facetcounter! ¡Acabo de apuntar un script a mi directorio! script (src = "/ public2 / alertTest.js")
Cody
Si usa React e intenta servir dos aplicaciones separadas, debe agregar "homepage": "/public"y "homepage": "/public2"al paquete.json de la aplicación de reacción respectiva. Para obtener más información sobre el uso de dos aplicaciones de reacción, consulte mi respuesta aquí stackoverflow.com/a/48569896/4746648
Danny Harding
esto es muy útil especialmente cuando desea una sharedcarpeta para poder usar "./"y "./shared"y boom, puede compartir fácilmente archivos js: 3 Gracias
Jaacko Torus
55
También puede "fusionar" directorios en un solo directorio visible
Si entiendo correctamente, los conflictos de nombre de archivo no ocurren porque el nodo usa la primera versión del archivo que encuentra. Si ve main.jsadentro static/, no continuará mirando adentro alternate_static/.
RobW
2
Eso sigue siendo una paliza si esperaba que el archivo se alternate_staticentregara alguna vez.
Randolpho
41
No es posible mediante una inyección de middleware, pero puede inyectar staticmiddleware varias veces:
Respuestas:
También puede establecer la ruta desde la que se enviarán los archivos estáticos a la web especificando un (primer) parámetro adicional para
use()
que así:De esa manera, obtiene dos directorios diferentes en la web que reflejan sus directorios locales, no una ruta de URL que falla entre dos directorios locales.
En otras palabras, el patrón de URL:
Sirve archivos del directorio local
public
mientras:Sirve archivos del directorio local
public2
.Por cierto, esto también es útil si no desea que la estática sirva los archivos desde la raíz de su servidor, sino desde una ruta más calificada.
HTH
fuente
"homepage": "/public"
y"homepage": "/public2"
al paquete.json de la aplicación de reacción respectiva. Para obtener más información sobre el uso de dos aplicaciones de reacción, consulte mi respuesta aquí stackoverflow.com/a/48569896/4746648shared
carpeta para poder usar"./"
y"./shared"
y boom, puede compartir fácilmente archivos js: 3 GraciasTambién puede "fusionar" directorios en un solo directorio visible
Estructura de directorios
/static
/alternate_static
Código
Tanto static como alternate_static se servirán como si estuvieran en el mismo directorio. Sin embargo, tenga cuidado con los nombres de archivo.
fuente
main.js
adentrostatic/
, no continuará mirando adentroalternate_static/
.alternate_static
entregara alguna vez.No es posible mediante una inyección de middleware, pero puede inyectar
static
middleware varias veces:Explicación
Mire connect / lib / middleware / static.js # 143 :
Hay una
options.root
raíz estática, que defineexpress.static
oconnect.static
llama, ypath
una ruta de solicitud.Mire más en connect / lib / middleware / static.js # 154 :
La ruta se verificó solo una vez y, si el archivo no se encontró, la solicitud pasó al siguiente middleware.
Actualización para Connect 2.x
Los enlaces al código no son actuales para Connect 2.x, pero el uso de middleware estático múltiple sigue siendo posible como antes.
fuente
});
fuente