Rider+Blazor+Scss热重载问题:修改Scss后无法自动更新CSS
以下是几个无需重启项目就能解决的实用方案:
确保Prepros触发文件系统变更通知
检查Prepros的编译设置,确认开启自动编译,同时勾选类似“Notify File System”的选项(不同版本表述可能有差异)。Rider的热重载依赖系统级文件变更事件,若Prepros只是静默输出文件,Rider可能无法检测到变化。让Rider主动监听CSS文件
打开Rider的Settings/Preferences,依次进入Build, Execution, Deployment > Debugger > Hot Reload,在Additional files to watch中添加你的CSS输出路径,比如wwwroot/css/**/*.css。配置后Rider会主动监控这些文件的改动,Prepros编译完成后就能触发热重载同步到浏览器。配合dotnet watch命令启动项目
不用Rider直接启动项目,转而在终端运行dotnet watch run(针对特定项目可加--project 你的项目路径)。dotnet watch会监听项目内所有文件的变化,包括Prepros生成的CSS,一旦检测到更新,会自动触发浏览器热重载,无需手动刷新。开启Prepros自带的浏览器刷新功能
打开Prepros的项目设置,找到“Auto Refresh Browser”或类似选项并开启。部分版本的Prepros支持编译完成后直接向浏览器发送刷新指令,针对CSS资源做局部更新,绕开Rider的监听逻辑直接让浏览器获取最新样式。
内容的提问来源于stack exchange,提问作者user7704925

