Middleware incorporado

Desde la versión 4.x, Express ya no depende de Connect. Excepto express.static, todas las funciones de middleware que se incluían previamente con Express están ahora en módulos diferentes. Consulte la lista de funciones de middleware.

express.static(root, [options])

La única función de middleware incorporado en Express es express.static. Esta función se basa en serve-static y es responsable del servicio de activos estáticos de una aplicación Express.

El argumento root especifica el directorio raíz desde el que se realiza el servicio de activos estáticos.

El objeto options opcional puede tener las siguientes propiedades:

Propiedad Descripción Tipo Valor predeterminado
dotfiles Opción para el servicio de dotfiles. Los valores posibles son “allow”, “deny” e “ignore” Serie “ignore”
etag Habilitar o inhabilitar la generación de etag Booleano true
extensions Establece las reservas de extensiones de archivos. Matriz []
index Envía el archivo de índices de directorios. Establézcalo en false para inhabilitar la indexación de directorios. Mixto “index.html”
lastModified Establezca la cabecera Last-Modified en la última fecha de modificación del archivo en el sistema operativo. Los valores posibles son true o false. Booleano true
maxAge Establezca la propiedad max-age de la cabecera Cache-Control en milisegundos o una serie en formato ms Número 0
redirect Redireccionar a la “/” final cuando el nombre de vía de acceso es un directorio. Booleano true
setHeaders Función para establecer las cabeceras HTTP que se sirven con el archivo. Función

A continuación, se muestra un ejemplo de uso de la función de middleware express.static con un objeto de opciones elaboradas:

var options = {
  dotfiles: 'ignore',
  etag: false,
  extensions: ['htm', 'html'],
  index: false,
  maxAge: '1d',
  redirect: false,
  setHeaders: function (res, path, stat) {
    res.set('x-timestamp', Date.now());
  }
}

app.use(express.static('public', options));

Puede tener más de un directorio estático para cada aplicación:

app.use(express.static('public'));
app.use(express.static('uploads'));
app.use(express.static('files'));

results matching ""

    No results matching ""