À chaque fois que je modifie le code dans un fichier .hmtl ou dans un fichier .js, le navigateur restitue l'ancien code et mes nouvelles modifications n'apparaissent pas dans le résultat du navigateur.
Par exemple, j'ajoute les 2 lignes de code suivantes dans un fichier .html.
<div class="control-group">
<label class="control-label">First Name</label>
<div class="controls readonly">
{{profile.FirstName}}
</div>
</div>
<div class="control-group">
<label class="control-label">Last Name</label>
<div class="controls readonly">
{{profile.LastName}}
</div>
</div>
Puis je fais ce qui suit:
Qu'est-ce que je fais mal?
Appuyez sur F12 dans votre navigateur pour faire apparaître les outils de développement. Désactiver le cache. Rechargez votre page.
Outre l'utilisation des outils de développement pour vous assurer que le cache est désactivé, vous pouvez modifier votre fichier Web.config
et indiquer à IIS de ne pas mettre en cache vos fichiers angulaires:
<configuration>
<!-- Disable IIS caching for directories containing Angular templates and scripts -->
<location path="app">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache"/>
</staticContent>
</system.webServer>
</location>
...
</configuration>
Mon répertoire racine angulaire est app/
. Vous devrez peut-être modifier en fonction de la structure de votre fichier.
TypeScript seulement!
Dans tsconfig.json, ajoutez…
"compileOnSave": true,
Essayez de désactiver votre cache avec les outils de développement:
Ouvrez devTools in chrome et sélectionnez l’onglet Réseau, Dans l’onglet Réseau, décochez la case Désactiver le cache et rechargez la page.
Vous devez modifier la variable d'environnement aspnetcore de la production au développement. Depuis le site officiel :
... définissez une variable d'environnement pour indiquer à ASP.NET de s'exécuter en mode de développement:
Si vous êtes sur Linux, vous devrez peut-être le faire en tant que superutilisateur. c'est à dire.
Sudo export ASPNETCORE_ENVIRONMENT=Development
La valeur de la variable peut revenir à Production
après le redémarrage. Si vous souhaitez travailler avec plusieurs environnements, je vous suggère de les définir dans le fichier launchSettings.json
:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:40088/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express (Staging)": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging"
}
}
}
}
Lire sur les environnements ici :
Pour moi, aucune des réponses précédentes n'a fonctionné. J'utilisais Chrome et la seule façon pour moi de voir la mise à jour était d'ouvrir une fenêtre de navigation privée. Mon navigateur habituel, pour une raison quelconque, n’obtiendra tout simplement pas les derniers actifs.
J'ai essayé d'effacer mon cache, de le désactiver sur devtools et d'effectuer une actualisation matérielle, en vain. Le seul moyen de résoudre ce problème était de vider le cache DNS. Voici un lien avec plus de détails:
Comment effacer le cache DNS sur les ordinateurs et les navigateurs Web
En ligne de commande, voici comment procéder:
Windows 7 et versions antérieures
ipconfig /flushdns
Windows 8
ipconfig /flushdns
OSX (Yosemite, El Capitain et Sierra)
Sudo dscacheutil -flushcache
Sudo killall -HUP mDNSResponder
Ou vous pouvez utiliser Browserlink dans Visual Studio 2013 pour recharger automatiquement la page
http://www.asp.net/visual-studio/overview/2013/using-browser-link
Vous devez exécuter la commande yarn webpack:build
pour recompiler votre code client. Sinon, les modifications/mises à jour dans les fichiers .HTML
, .json
, .ts
ne seront pas reflétées.
Cela est dû au cache stocké par le navigateur. Avant d'exécuter votre application, vous pouvez supprimer le cache et les cookies stockés par votre navigateur.
Définissez les en-têtes de réponse HTTP pour qu'ils expirent le contenu via le gestionnaire IIS.
https://www.iis.net/configreference/system.webserver/staticcontent/clientcache