-
Notifications
You must be signed in to change notification settings - Fork 12
Versionado. gestión de la cache
La tarea rev se utiliza junto con yeoman/grunt-usemin para controlar cómo el navegador cachea los archivos de nuestra aplicación. Añade un nuevo número de versión a los archivos estáticos (js, css, imágenes...) y actualiza las referencias a ellos en los archivos (css, html) de forma que el navegador pueda cachearlos para siempre.
En tu Gruntfile, añade una sección rev
dentro de grunt.initConfig()
.
grunt.initConfig({
rev: {
options: {
encoding: 'utf8',
algorithm: 'md5',
length: 8
},
assets: {
files: [{
src: [
'img/**/*.{jpg,jpeg,gif,png}',
'fonts/**/*.{eot,svg,ttf,woff}'
]
}]
}
},
})
Tipo: String
Valor por defecto: 'utf8'
El encoding de nuestros archivos.
Tipo: String
Valor por defecto: 'md5'
algorithm
depende de los algoritmos disponibles en la versión de OpenSSL de la plataforma. Opciones válidas son 'sha1'
, 'md5'
, 'sha256'
, 'sha512'
, etc. En las versiones más nuevas, openssl list-message-digest-algorithms
muestra los algoritmos disponibles.
Tipo: Number
Valor por defecto: 8
El número de caracteres que deseamos para el prefijo para el nombre del archivo.
Esto renombrará app.js
y app.css
con un prfijo hash de 8 caracteres. Por ejemplo js/9becff3a.app.js
y css/ae35dd05.app.css
. El valor del hash depende de los contenidos del archivo.
grunt.initConfig({
rev: {
files: {
src: ['scripts/app.js', 'css/app.css']
}
}
})
Cambiamos el tamaño o el algoritmo del nombre del recurso.
Nota: La tarea usemin
requiere al menos un caracter hexadecimalcomo prefijo.
grunt.initConfig({
rev: {
options: {
algorithm: 'sha1',
length: 4
},
files: {
src: ['**/*.{js,css,png,jpg}']
}
}
})