web-dev-qa-db-ja.com

ブラウザの更新後、angularjsコードの変更が表示されない

.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>

その後、次のことを行います。

  1. VS2013では、プロジェクトを右クリックして、ブラウザー(IEまたはChrome)で表示します。
  2. アプリケーションにログインします。
  3. それぞれのページに移動すると、古いhtmlファイルのレンダリングが表示されます。新しく追加された2つのdiv要素がまったく表示されません。
  4. F5を押してブラウザを更新しましたが、まだ運がありません。

私は何を間違えていますか?

29

ブラウザでF12キーを押して、開発者ツールを起動します。キャッシュを無効にします。ページをリロードします。

47
Phil Degenhardt

開発ツールを使用してキャッシュが無効になっていることを確認する以外に、Web.config file and tell 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>

My Angularルートディレクトリはapp/。ファイル構造に応じて変更する必要がある場合があります。

21
Nate Barbettini

TypeScriptのみ!

Tsconfig.jsonに追加…

"compileOnSave": true, 
7
RGH

開発ツールでキャッシュを無効にしてみてください:

https://developer.chrome.com/devtools/docs/settings#general

5
Oka

chromeでdevToolsを開き、[ネットワーク]タブを選択し、[ネットワーク]タブで[キャッシュを無効にする]のチェックを外してページをリロードします。

2
harry_42

Aspnetcore環境変数を運用環境から開発環境に変更する必要があります。 公式ウェブサイト から:

...環境変数を設定して、ASP.NETに開発モードで実行するように指示します。

  • WindowsでPowerShellを使用している場合は、$ Env:ASPNETCORE_ENVIRONMENT = "Development"を実行します
  • Windowsでcmd.exeを使用している場合は、setx ASPNETCORE_ENVIRONMENT "Development"を実行し、コマンドプロンプトを再起動して変更を有効にします
  • Mac/Linuxを使用している場合は、export ASPNETCORE_ENVIRONMENT = Developmentを実行します

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"
         }
       }
     }  
   }

環境について読む こちら

1
mm_

In chrome F12>ネットワークタブに移動>キャッシュを無効にする

enter image description here

1
vinayak hegde

私にとって、以前の答えはどれもうまくいきませんでした。私はChromeを使用していましたが、更新を表示できる唯一の方法はシークレットウィンドウを開くことでした。私の通常のブラウザウィンドウは、何らかの理由で、最新のアセットを取得できません。

キャッシュをクリアし、devtoolsのキャッシュを無効にし、ハードリフレッシュを試みましたが、うまくいきませんでした。私がそれを修正できた唯一の方法は、DNSキャッシュをクリアすることでした。詳細はこちらのリンクをご覧ください。

コンピューターとWebブラウザーのDNSキャッシュをクリアする方法


コマンドラインを使用して、次のようにします。

Windows 7以前

ipconfig /flushdns

Windows 8

ipconfig /flushdns

OSX(ヨセミテ、エルキャピタン、およびシエラ)

Sudo dscacheutil -flushcache
Sudo killall -HUP mDNSResponder
1
Gene Parcellano

または、Visual Studio 2013でBrowserlinkを使用してページを自動的にリロードできます

http://www.asp.net/visual-studio/overview/2013/using-browser-link

1
Toan Nguyen

クライアントコードを再コンパイルするには、コマンドyarn webpack:buildを実行する必要があります。それ以外の場合、.HTML.json.tsファイルの変更/更新は反映されません。

1
Valerie

問題

  • 開発環境での静的ファイルのクライアント側(ブラウザ)キャッシング
  • 開発環境での静的ファイルのサーバー側(IIS Express)キャッシュ

ソリューション

For Client-side (Browser) caching of static files in dev enviornment

  • Web.Config/ApplicationHost.configアプローチ:上記の@NateBarbettiniによって提案されたWeb.configアプローチ。このアプローチは、web.configファイルの代わりに「Applicationhost.config」にも適用できることに注意してください。
  • IE上記の@Phil Degenhardtが提案したとおり。以下のスクリーンショットをご覧ください。 enter image description here
  • ブラウザのアドレスバーでソースファイルの場所に移動します。アドレスを入力して、問題のJavaScriptファイルに移動します。 JavaScriptファイルの内容が表示されます。これを行うと、ファイルが更新されます。再び戻って、アプリケーションの適切なランディングページに移動してみてください。今回は、最新のJavaScriptコードが実行されるのを確認できます。例えば「app/home/home-account.js」を更新しないことに問題がある場合。次に、ブラウザで'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

  • visit IIS Express appcmdコマンドラインユーティリティ。私の場合、appcmdはこのパスにある「C:\ Program Files(x86)\ IIS Express\appcmd.exe」にあります。その後、SITE listおよびSITE deleteコマンドを使用しますiisexpressにキャッシュされた一時ファイルを削除します。

  • また、IEここで言及されている: Visual Studio 2013の古いバージョンの.jsファイルのキャッシュ に固有のソリューションもあります。

0
Lalit Kale

これは、ブラウザにキャッシュが保存されているために発生します。アプリケーションを実行する前に、ブラウザに保存されているキャッシュとCookieを削除できます。

0

IIS manager.を介してコンテンツを期限切れにするようにHTTP応答ヘッダーを設定します。

  1. Webアプリケーションの HTTP応答ヘッダーモジュールを開きます
  2. アクションペインで Set Common headers をクリックします

Set HTTP Response headers to expire

https://www.iis.net/configreference/system.webserver/staticcontent/clientcache

0
Prasad De Silva