node.js - Express:提供依赖于 cookie 的静态文件
问题描述
我想提供依赖于特定 cookie 的静态文件。
假设 cookie语言的值为“en”,我想提供 dist/browser/en。
像这样的东西:
app.use(express.static(path.join(__dirname, '../../client/dist/browser/',req.cookies.language), { maxAge: '2d'}));
我知道这不起作用,因为我无法访问此处的 req,但高度赞赏如何实现这一点的提示。
解决方案
您不能express.static()
以“动态”方式使用根据请求中的信息确定它的作用。调用它是express.static()
有原因的,路线是静态的,并且对每个人都做同样的事情。
要动态提供数据,您必须编写自己的路由来检查 cookie,然后找到适当的文件并将该文件作为响应流回。 express-static
是基于模块的,您可以在此处serve-static
查看源代码。这不是很复杂。
推荐阅读
- javascript - 如何在按钮 onlick 上添加加载微调器
- javascript - 前端:Internet Explorer 问题
- ios - swift 4:在视图内将按钮的约束设置为安全区域
- reactjs - 如何通过 https 提供 reactjs 应用程序?
- swift - Xcode / 斯威夫特 | 将 TopBorder 添加到 TabBar
- javascript - 无法更新 fieldArray 元素
- reactjs - map() 函数错误。这个组件可以进一步改进吗
- python - 使用python从日志中提取和操作
- python - Tensorflow:相同的输入数据,不同的输出
- r - 95% 阴影的曲线平均