2

Visual Studio 2012 で、TypeScript によって生成された最新バージョンの JavaScript ファイルを常に使用するように強制するにはどうすればよいですか?

プロジェクト ファイルで次の定義を使用しています。

<Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -out scripts\app.js scripts\app.ts  -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" IgnoreExitCode="true" />
  </Target>

プロジェクトをクリーンアップして再構築すると、それに応じて app.js が更新されます。

しかし、奇妙な理由で、Internet Explorer を使用してソリューションをデバッグしようとすると、Visual Studio が古いバージョンの app.js を使用しているため、ブレークポイントが無効になります。

ここで何が起こっているのですか?

4

1 に答える 1

4

ここで最も可能性の高い問題は、実際には TypeScript や JavaScript ではありません。Internet Explorer は JavaScript ファイルをキャッシュし、古いバージョンを使用しているだけです。

個々のスクリプトを参照している場合は、URI の任意の部分を変更することでスクリプトをキャッシュ バストできます。

<script src="myscript.js?1"></script>

キャッシュされたバージョンを置き換えるたびに 1 をインクリメントすると、新しいスクリプトが読み込まれます。1 の代わりにタイムスタンプをダンプすることで、これを自動化できます。

MVC4 で推奨されているバンドルを使用している場合、バンドラーはスクリプトのハッシュを追加し、同じことを行います。

于 2012-11-21T17:16:01.590 に答える