Pourquoi Chrome ne met-il pas à jour les fichiers source Typescript lors du changement?
Je travaille sur un projet TypeScript (0.9.1) utilisant Visual Studio 2012 avec les derniers Web Essentials comme IDE, et je débogue en utilisant les outils de développement Chrome.
Récemment, et très probablement après la mise à jour de Chrome (cur. Version 29.0.1547.66 m), les fichiers typeScript ne sont pas mis à jour après que je les ai édités, et d'autre part les fichiers JS compilés correspondants sont mis à jour, mais il semble que la fonctionnalité dépend toujours de la version non mise à jour du source.
Solutions essayées et échouées :
- Reconstruire la solution complète.
- dur rafraîchissant (Shift + F5) le site hôte local sur chrome
- supprimer les fichiers de carte Source et les générer à nouveau.
Après quelques essais, il semble que même une demande de téléchargement des fichiers sources ts donne la version non mise à jour (http://localhost:1198/xxx.ts
par exemple)
Il semble que le problème soit partiellement corrigé après le redémarrage complet (windows 8 si cela compte), les fichiers source sont mis à jour dans chrome, mais une fois que je le change à nouveau, le même problème apparaît.
Une autre solution utilisait incognito, car il semble que c'est un problème de mise en cache.
Ma question:
Est-ce que la mise en cache des fichiers typeScript est causée par un problème dans les configurations du projet (même s'il fonctionnait auparavant), ou c'est un bug dans la nouvelle version de Chrome ?
6 réponses
Si vous servez à partir D'IIS, nous avons désactivé manuellement le cache dans notre fichier web.config
:
<system.webServer>
<httpProtocol>
<!--TODO: Remove this block for production (//TODO: Remove this block for production) -->
<customHeaders>
<!--DISABLE CACHE-->
<add name="Cache-Control" value="no-cache, no-store, must-revalidate" />
<add name="Pragma" value="no-cache" />
<add name="Expires" value="0" />
</customHeaders>
</httpProtocol>
</system.webServer>
J'ai résolu cela en supprimant manuellement les fichiers mis en cache. Cela peut être fait via les paramètres de Chrome:
- Cliquez sur Personnaliser et contrôler Google Chrome - l'icône du Menu burger dans le coin supérieur droit de la fenêtre du navigateur.
- Sélectionnez Paramètres en bas du menu.
- Faites défiler vers le bas et cliquez sur Afficher les paramètres avancés... lien.
- Cliquez sur Effacer les données de navigation...Bouton .
- Vérifiez les images mises en cache et les fichiers. Les autres cases à cocher peuvent être décochée.
- Cliquez sur le boutonEffacer les données de navigation .
La case à cocher' Désactiver le cache ' dans l'onglet Réseau n'a pas fonctionné pour moi, pas plus Qu'un Ctrl + F5.
À je rencontre le même problème. J'ai résolu ce problème avec les outils de débogage chreome désactiver le cache vérifié.
Mon deuxième problème, j'ai écrit beaucoup de classe dans un même fichier. j'épisse chaque classe pour séparer le fichier.
Je ne sais pas pourquoi cela ne fonctionne pas normalement. Mais même lorsque vous désactivez la mise en cache ne fonctionne toujours pas. Qu'est-ce qui fonctionne comme un travail manuel autour. Si chrome dev tools est ouvert, vous pouvez cliquer avec le bouton droit sur l'icône d'actualisation et faire un rechargement dur (je fais "cache vide et rechargement dur") et cela fonctionne.
J'ai résolu ça comme Jan Aagaard .
Personnalisez et contrôlez Google Chrome > Paramètres > Afficher les paramètres avancés... > Effacer les données browing... > Vérifier dans' images et fichiers mis en cache ' > Effacer les données browing.
Si quelqu'un a le même problème sur Visual Studio 2015 après l'installation ASP.Net 5 RC1. Vérifiez si le tableau de bord Browser Link affiche "no current connections" lors de l'exécution ou du débogage D'un projet DNX une réparation de la mise à jour corrigera le problème:
- Fermer Visual Studio
- Ouvrez le Panneau de configuration > Programmes et fonctionnalités
- Faites un clic droit sur "Microsoft ASP.NET 5 RC1 mise à jour 1"
- Cliquez sur "modifier"
- dans le ASP.NET 5 RC1 mise à jour 1 Installer, cliquez sur "Réparer"