Ответ 1
Нажмите F12 в своем браузере, чтобы открыть Инструменты разработчика. Отключите кеш. Перезагрузите страницу.
В любое время я делаю изменения кода в файле .hmtl или .js, браузер по-прежнему отображает старый код, а мои новые изменения кода не отображаются в результатах браузера.
Например, я добавляю следующие 2 строки кода в файл .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>
Затем я делаю следующее:
Что я делаю неправильно?
Нажмите F12 в своем браузере, чтобы открыть Инструменты разработчика. Отключите кеш. Перезагрузите страницу.
Помимо использования инструментов Dev, чтобы убедиться, что кеш отключен, вы можете отредактировать файл Web.config
и сообщить IIS, чтобы он не кэшировал ваши файлы Angular:
<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>
Мой Angular корневой каталог app/
. Вам может потребоваться изменить в соответствии с вашей файловой структурой.
Попробуйте отключить кеш с помощью инструментов Dev:
TypeScript только!
В tsconfig.json добавить...
"compileOnSave": true,
Откройте devTools в chrome и выберите вкладку "Сеть", "Вкладка" Сеть ". Отключите" Отключить кеш "и перезагрузите страницу.
Или вы можете использовать Browserlink в Visual Studio 2013 для автоматической перезагрузки страницы
http://www.asp.net/visual-studio/overview/2013/using-browser-link
Для меня ни один из предыдущих ответов не работал. Я использовал Chrome, и единственным способом, с помощью которого я мог просматривать это обновление, было открытие окна инкогнито. Мое обычное окно браузера по какой-то причине просто не получит последние активы.
Я попытался очистить свой кеш, отключить кеш на devtools и жестко обновить, но безрезультатно. Единственный способ, которым я смог это исправить, - очистить кеш DNS. Здесь ссылка с более подробной информацией:
Как очистить кеш DNS на компьютерах и веб-браузерах
Используя командную строку, вот как вы это делаете:
Windows 7 и более ранние
ipconfig /flushdns
Windows 8
ipconfig /flushdns
OSX (Yosemite, El Capitain и Sierra)
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Вам нужно изменить переменную окружения aspnetcore от производства до разработки. На официальном сайте :
... установить переменную среды, чтобы сообщить ASP.NET для запуска в режиме разработки:
Если вы находитесь в Linux, вам, возможно, придется делать это как суперпользователь. то есть.
sudo export ASPNETCORE_ENVIRONMENT=Development
Значение переменной может вернуться к Production
после повторной загрузки. Если вы хотите работать с несколькими средами, я предлагаю вам определить их в файле 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"
}
}
}
}
Прочитайте о средах здесь:
For Client-side (Browser) caching of static files in dev enviornment
'http://[your-host/localhost]:[specified port of your application]/app/home/home-account.js
. Это покажет вам содержимое. Затем снова перейдите к домашней странице вашего приложения, то есть в этом случае 'http://[your-host/localhost]:[specified port of your application]/'
For Server-side (IIS-Express) caching of static files in dev enviornment
посетите служебную программу командной строки appcmd IIS Express. В моем случае appcmd находится в "C:\Program Files (x86)\IIS Express\appcmd.exe" этот путь. Затем используйте команды SITE list
и SITE delete
для удаления временных файлов, кэшированных в iisexpress.
Существует также одно решение, которое относится к IE, упомянутому здесь: Visual Studio 2013 кэширует старую версию файла .js
Это происходит из-за того, что кеш хранится в браузере. Перед запуском приложения вы можете удалить кеш и файлы cookie, хранящиеся в вашем браузере.
Установить заголовки HTTP-ответа для истечения срока действия содержимого через диспетчер IIS.
https://www.iis.net/configreference/system.webserver/staticcontent/clientcache