Esta traducción proporcionada por StrongLoop / IBM.
Este documento puede estar desfasado respecto a la documentación en inglés. Para ver las últimas actualizaciones, consulte la documentación en inglés.Para el servicio de archivos estáticos como, por ejemplo, imágenes, archivos CSS y archivos JavaScript, utilice la función de middleware incorporado express.static
de Express.
Pase el nombre del directorio que contiene los activos estáticos a la función de middleware express.static
para empezar directamente el servicio de los archivos. Por ejemplo, utilice el siguiente código para el servicio de imágenes, archivos CSS y archivos JavaScript en un directorio denominado public
:
app.use(express.static('public'));
Ahora, puede cargar los archivos que hay en el directorio public
:
http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Para utilizar varios directorios de activos estáticos, invoque la función de middleware express.static
varias veces:
app.use(express.static('public'));
app.use(express.static('files'));
Express busca los archivos en el orden en el que se definen los directorios estáticos con la función de middleware express.static
.
Para crear un prefijo de vía de acceso virtual (donde la vía de acceso no existe realmente en el sistema de archivos) para los archivos a los que da servicio la función express.static
, especifique una vía de acceso de montaje para el directorio estático, como se muestra a continuación:
app.use('/static', express.static('public'));
Ahora, puede cargar los archivos que hay en el directorio public
desde el prefijo de vía de acceso /static
.
http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html
No obstante, la vía de acceso que proporciona a la función express.static
es relativa al directorio desde donde inicia el proceso node
. Si ejecuta la aplicación Express desde cualquier otro directorio, es más seguro utilizar la vía de acceso absoluta del directorio al que desea dar servicio:
app.use('/static', express.static(__dirname + '/public'));