Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何确保在部署新版本的ASP.NET Core/React应用程序时完全重新加载客户端?_Reactjs_Asp.net Core_Asp Net Core Spa Services - Fatal编程技术网

Reactjs 如何确保在部署新版本的ASP.NET Core/React应用程序时完全重新加载客户端?

Reactjs 如何确保在部署新版本的ASP.NET Core/React应用程序时完全重新加载客户端?,reactjs,asp.net-core,asp-net-core-spa-services,Reactjs,Asp.net Core,Asp Net Core Spa Services,我有一个小小的ASP.NET核心web应用程序,它有一个React前端。VS2017向导中的“新项目”几乎是开箱即用的,然后添加到 我现在已经通过构建和部署系统进行了部署,ASP.NET核心DLL的构建版本设置来自构建服务器 然而,当我部署时,React前端没有正确地重新加载,新功能也没有出现。我必须要求用户按ctrl-F5来更新它 我添加了版本更改检测(在控制器上添加了API调用)和window.location.reload(),当它看到客户端时,它仍然会从缓存中提取客户端文件 我可以将版本

我有一个小小的ASP.NET核心web应用程序,它有一个React前端。VS2017向导中的“新项目”几乎是开箱即用的,然后添加到

我现在已经通过构建和部署系统进行了部署,ASP.NET核心DLL的构建版本设置来自构建服务器

然而,当我部署时,React前端没有正确地重新加载,新功能也没有出现。我必须要求用户按ctrl-F5来更新它

我添加了版本更改检测(在控制器上添加了API调用)和
window.location.reload()
,当它看到客户端时,它仍然会从缓存中提取客户端文件

我可以将版本号添加到URL、webpack或类似内容中以强制从服务器获取吗


更新:似乎相关。我可以试试…

这在原则上与任何其他破坏缓存的场景没有什么不同。是的,您应该对静态资源进行版本设置,以便引用新版本会导致新的下载。这可以通过查询字符串或实际使用实际路径/文件名版本号来实现。您还应该查看您的web.manifest,并确保您正在对其进行版本控制,并正确引用它。是的,但我还不知道如何在.net核心项目中实现这一点。有一堆东西被设置好了,导致“魔法”立即发生。我正在尝试解包并理解如何进行这项工作——但在webpack和.net core(如dotnet publish commannd行和运行webpack的.csproj目标等)上有很多文档需要阅读,现在webpack(我想)正在捆绑所有的JS并更新index.html文件以加载它。我在想,也许有一个选项,可以通过网页包以某种方式“缓存半身像”,但到目前为止还没有找到。