Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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 Express.js:为捆绑在webpack中的静态资产设置缓存控制标头_Reactjs_Express_Caching_Webpack - Fatal编程技术网

Reactjs Express.js:为捆绑在webpack中的静态资产设置缓存控制标头

Reactjs Express.js:为捆绑在webpack中的静态资产设置缓存控制标头,reactjs,express,caching,webpack,Reactjs,Express,Caching,Webpack,我不知道如何使用express.js和webpack为静态资产设置缓存控制头 在我的react应用程序中,我包括静态图像,如下所示: <img src={require("./images/Logo.png")} alt="Logo"/> 最后,我将server.js中的/public文件夹标记为包含静态资产,并设置缓存控制头 const server = express(); server.use(express.static(path.join(__dirname, 'pub

我不知道如何使用express.js和webpack为静态资产设置缓存控制头

在我的react应用程序中,我包括静态图像,如下所示:

 <img src={require("./images/Logo.png")} alt="Logo"/>
最后,我将server.js中的/public文件夹标记为包含静态资产,并设置缓存控制头

const server = express();
server.use(express.static(path.join(__dirname, 'public'), {maxAge: "30d"}));
问题在于
require()
解析路径,包括/public文件夹:

<img class="full-width" src="/public/images/Logo.png" alt="Logo">

但是
express
需要一个没有
public/
部分的URL

有没有办法强制
express.static()
在其路径中包含
/public

有没有办法强制
express.static()
在其路径中包含
/public

绝对:

server.use('/public', express.static(path.join(__dirname, 'public'), {maxAge: "30d"}));

谢谢我尝试了这个方法,虽然静态资产是来自
/public/images
URL的服务器,但缓存控制头不在那里。我需要一个解决方案,其中静态资产将有这个headerWorks为我:
Cache-Control:public,max-age=2592000
我已经在一个单独的项目中尝试过了,它确实有效。问题一定在别的地方。谢谢你的帮助!
server.use('/public', express.static(path.join(__dirname, 'public'), {maxAge: "30d"}));