Javascript 如何更改React app中静态资产的缓存策略(使用create React app创建)

Javascript 如何更改React app中静态资产的缓存策略(使用create React app创建),javascript,reactjs,caching,service-worker,create-react-app,Javascript,Reactjs,Caching,Service Worker,Create React App,我已经使用React.js(使用create-React-app)创建了一个应用程序,但我找不到更改静态资产缓存策略的方法(我对max-age感兴趣)。默认情况下,我的应用程序的静态资产(包括我使用带有“npm运行生成”的生产生成时)的最大期限为0 在官方的create react应用程序文档中,我只找到以下内容: 它没有帮助我更改静态资产的缓存策略(我有图像) 我还尝试使用“fetch”方法并设置一个自定义头,但最终得到了一个重复的值“max age=99999,max age=0”。当涉及到

我已经使用React.js(使用create-React-app)创建了一个应用程序,但我找不到更改静态资产缓存策略的方法(我对max-age感兴趣)。默认情况下,我的应用程序的静态资产(包括我使用带有“npm运行生成”的生产生成时)的最大期限为0

在官方的create react应用程序文档中,我只找到以下内容:

它没有帮助我更改静态资产的缓存策略(我有图像)

我还尝试使用“fetch”方法并设置一个自定义头,但最终得到了一个重复的值“max age=99999,max age=0”。当涉及到缓存策略时,createreact应用程序似乎绕过了您的自定义头


如何设置自定义标题?提前感谢

如果您的web服务器无法设置这些头,这将是客户端缓存的最佳选择。您是否也能够查看这些create react应用程序文档

  • 您也可以尝试删除其标题,然后添加自己的标题:

    location / {
       ...
    
       // hide create-react-app response header
       proxy_hide_header max-age;
    
      // send your own header to client
      add_header max-age 99999;
    }
    

    谢谢你的回复!是否有任何方法可以通过现成的CreateReact应用程序设置标准缓存策略?如果不是,那么使用您上面发布的解决方案之一是否容易?不确定是否有现成的可能性,因为我在节点服务器前面使用负载平衡器或Nginx。用这个建议更新了答案。你可以和他们在一起。他们是一个很有帮助的社区