Javascript 在内置SPA中禁用缓存
工作原理:我构建应用程序,并使用FTP将其联机。问题是,浏览器会缓存旧版本的React应用程序 要使用新版本,我必须手动清除缓存。显然,用户将不知道如何做到这一点 如何禁用代码的缓存Javascript 在内置SPA中禁用缓存,javascript,reactjs,caching,Javascript,Reactjs,Caching,工作原理:我构建应用程序,并使用FTP将其联机。问题是,浏览器会缓存旧版本的React应用程序 要使用新版本,我必须手动清除缓存。显然,用户将不知道如何做到这一点 如何禁用代码的缓存 我正在使用主机。我完全不知道应该包括哪些内容,如果您需要一些信息,请告诉我,我会提供。您的服务器可以告诉浏览器不要缓存项目。在NGINX(或服务器正在运行的任何东西)中,您将需要沿 add_header Cache-Control 'no-store, no-cache, must-revalidate, prox
我正在使用主机。我完全不知道应该包括哪些内容,如果您需要一些信息,请告诉我,我会提供。您的服务器可以告诉浏览器不要缓存项目。在NGINX(或服务器正在运行的任何东西)中,您将需要沿
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
这样浏览器就知道总是获取新版本。要强制浏览器“清除”其缓存,您可以在每次创建生成时生成唯一的文件名
如果您使用
webpack
for来创建生产版本,您可以阅读更多如何处理它。向应用程序资产添加查询字符串可能会有所帮助(例如,这个问题:)我只是在使用warn build
将其更改为webpack有意义吗?@AlexIronsidewarn build
只是执行一些任务(在package.json
中定义)。任务具体做什么-取决于您的配置。您是否使用一些样板项目创建了SPA
,如create react app
?是的。我正在使用create react app
@AlexIronside,因此您应该已经正确配置了webpack
,以便为您的资产生成不同的文件名每次运行warn build
。我刚刚尝试构建了两次,两次的名称都是main.38f79161.js
我应该在哪里包含这个?类似于.htaccess的东西?