Aak*_*ash 2 static node.js express reactjs
我在后端使用 Express,在前端使用 React(create-react-app)。React 在client/build/static目录中生成我所有的捆绑资产
该目录中包含三个文件夹css, js, media。我看到他们在开发者控制台的网络选项卡中有一个 max-age=0。
因此,我尝试使用快速静态中间件通过在server目录内的 app.js 文件中编写以下代码来为这些文件夹设置 Cache-Control 标头
app.use(express.static(path.join(__dirname, "..",
"client/build/static"), {
maxage: 31536000
}))
Run Code Online (Sandbox Code Playgroud)
但它似乎没有任何效果。有谁知道如何在 express 中将 Cache-Control 设置为文件夹
编辑:- 按照@Giovanny 的回答,我进行了纠正,但仍然为标题设置了 max-age=0
我认为这是因为客户端对请求标头的默认设置?
小智 5
您的代码看起来正确,唯一的问题是您正在设置选项maxage而不是maxAge. 这按预期工作:
app.use(express.static(path.join(__dirname, "..",
"client/build/static"), {
maxAge: 31536000
}))
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看静态文件的选项列表:https : //expressjs.com/en/api.html
您可以以另一种方式指定缓存控制标头,它会相应地缓存。这个想法是在任何输出之前添加对 res.set() 的调用。
res.set('Cache-Control', 'client/build/static, max-age=31557600');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |