ASP.NET MVC使用Bundles时无需重启生效TypeScript修改的方案咨询
解决方案
1. 开启TypeScript保存自动编译
- 如果你用Visual Studio开发,进入「工具>选项>文本编辑器>TypeScript>项目」,勾选保存时编译TypeScript文件
- 右键点击你的项目→属性→TypeScript生成页,勾选「允许在保存时编译」,将JS输出路径配置为你Bundle引用的Scripts对应目录,确保编译后的JS能被Bundles正确读取
- 修改TS代码后按下保存,VS会自动把TS编译为同名JS文件,不需要重启应用
2. 配置开发环境禁用静态资源缓存
在开发环境的Web.config中添加以下配置,避免浏览器或IIS缓存旧的JS文件:
<system.webServer> <staticContent> <clientCache cacheControlMode="DisableCache" /> </staticContent> </system.webServer>
注意:该配置仅用于开发环境,生产环境部署时需要移除,避免影响静态资源缓存性能
3. 可选:使用tsc监听模式实现更快编译
如果VS自带的保存编译响应速度不够快,可以打开命令行进入TS文件根目录,运行以下命令启动TS实时编译监听:tsc --watch
命令执行后会持续监控所有TS文件的改动,只要保存就会立刻编译生成JS,刷新浏览器即可看到效果
4. 确保Bundles自动检测文件变更
ASP.NET MVC Bundles默认会自动监控所有包含的JS文件的最后修改时间,只要JS文件内容发生变更,不需要重启应用就会自动重新生成合并后的资源文件,不需要额外配置。如果之前修改JS也需要重启应用,可检查是否有自定义的Bundle缓存策略,移除开发环境下的自定义缓存配置即可。
内容的提问来源于stack exchange,提问作者RogerGlez
相关产品推荐
相关产品推荐

