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.

Servicio de archivos est谩ticos en Express

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

Express busca los archivos relativos al directorio est谩tico, por lo que el nombre del directorio est谩tico no forma parte del URL.

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'));