如何强制Visual Studio 2012始终使用TypeScript创建的生成的JavaScript文件的最新版本?
我在项目文件中使用以下定义:
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)Microsoft SDKsTypeScript .8.0.0tsc" -out scriptsapp.js scriptsapp.ts -target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" IgnoreExitCode="true" />
</Target>
当我清理并重建项目时,app.js 会相应地更新。
但是,出于某种奇怪的原因,当我尝试使用Internet Explorer调试解决方案时,Visual Studio使用的是过时的app.js版本,这使我的断点无效。
这是怎么回事?
这里最可能的问题并不是TypeScript或JavaScript - Internet Explorer只是缓存JavaScript文件并使用过时的版本。
如果要引用单个脚本,则可以通过更改 URI 的任意部分来缓存破坏它:
<script src="myscript.js?1"></script>
如果每次要替换缓存版本时都递增 1,则会导致加载新脚本。您可以通过转储时间戳代替 1 来自动执行此操作。
如果您使用的是我在 MVC4 中推荐的捆绑,捆绑器将附加脚本的哈希,这执行相同的操作。