Maison > Questions et réponses > le corps du texte
nginx met JS en cache pendant une heure, comme suit
location ~ .*\.(js|css)?$ {
expires 1h;
}
OK, ce n'est pas un problème. Je souhaite actualiser le cache temporairement. Au pire, je peux simplement ajouter un suffixe, par exemple : abc.js?v=123
Maintenant que je l'ai débogué en ligne, je souhaite supprimer le suffixe et restaurer abc.js?v=123
还原到abc.js
dans abc.js
, mais il est toujours en cache pour le moment. Comment puis-je le casser ?
習慣沉默2017-05-16 17:26:48
Votre règle ci-dessus ajoute simplement une règle d'expiration à l'en-tête
Dites au navigateur que cette chose expire dans 1 heure
Ce n'est pas que nginx le met en cache
黄舟2017-05-16 17:26:48
Ce cache fait référence au cache de votre navigateur (client, pas nginx). Dans des circonstances normales, Ctrl+R
l'actualisation forcée supprimera le cache.
Ou videz le cache de votre navigateur et tout ira bien.
仅有的幸福2017-05-16 17:26:48
grunt-rev
Utilisez la tâche rev avec yeoman/grunt-usemin pour contourner le cache des fichiers statiques dans votre application. Cela leur permet d'être mis en cache pour toujours par le navigateur.
De cette façon, les paramètres d'en-tête nginx n'expireront jamais.
怪我咯2017-05-16 17:26:48
En utilisant la meilleure solution frontale de l'hémisphère oriental - fis, nous disposons d'un ensemble de solutions dédié.
fis
仅有的幸福2017-05-16 17:26:48
http://labs.frickle.com/nginx_ngx_cache_purge/README
http {
proxy_cache_path /tmp/cache keys_zone=tmpcache:10m;
server {
location / {
proxy_pass http://127.0.0.1:8000;
proxy_cache tmpcache;
proxy_cache_key $uri$is_args$args;
}
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge tmpcache $is_args$args;
}
}
}
Visitez 127.0.0.1/purge/abc.js pour supprimer les fichiers mis en cache.
Ajoutez le paramètre --add-module=/path/to/ngx_cache_purge lors de la configuration pour ajouter ce module de purge tiers.
过去多啦不再A梦2017-05-16 17:26:48
Similaire à expires
max-age
e-tag
Ces informations d'en-tête sont des en-têtes de cache pour les navigateurs frontaux. Par exemple, si vous définissez simplement une expiration d'une heure, le navigateur ne demandera plus le fichier une heure après la fin de la demande pour communiquer avec le serveur. , les fichiers de cache local sont utilisés à chaque fois. Durant cette heure, seul le navigateur efface le cache ou désactive le cache dans les outils de développement pour communiquer avec le serveur. Dans le cas contraire, toute modification apportée au fichier sur le serveur pendant cette heure n'aura aucun impact sur le navigateur.