node.js - 有没有办法让 Express 从两个文件系统目录中提取一个 Web 目录?

标签 node.js express

假设我想要一个明显的目录,通过浏览器,它是 http://whatever/images/

但在文件系统上,它实际上来自 /Users/me/www/images/Users/me/moreimages/。因此,如果我请求 http://whatever/images/selfie.jpg,它会首先查找 /Users/me/www/images/selfie.jpeg,如果找不到,请改为提供 /Users/me/moreimages/selfie.jpeg

我可以想到一些丑陋的方法来做到这一点,处理路由并为自己服务,但我想以最“正确”且希望最直接的方式来做到这一点。 Express 是否有一些解决方法可以使其执行此操作?

最佳答案

是的,这是可能的。只需有 express.static 的两个实例两者都安装在 /images 上:

router.use('/images', express.static('/Users/me/images/'));
router.use('/images', express.static('/Users/me/moreimages/'));

如果中间件的第一个实例未满足请求,则将处理第二个中间件,依此类推。

关于node.js - 有没有办法让 Express 从两个文件系统目录中提取一个 Web 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26614702/

相关文章:

mysql - 使用sequelize从使用自动增量id迁移到uuid

node.js - 如何使 Node 调度在 Heroku 中工作?

node.js - 与 pg-promise 相互依赖的事务

javascript - Neo4j session .catch 错误 : structure (127, [[对象对象]])

node.js - grant_type=password 上未定义 client_id (oauth2orize)

node.js - 在环回身份验证失败的 Node js 中扩展用户模型

javascript - 按文件从 Base64 编码字符串创建 ReadStream

javascript - 如何在 Express Nodejs 中更改本地范围内的全局 var 值

node.js - IIS、Node.js 和带有 IISNode 的 Web 应用程序未使用虚拟目录正确配置

javascript - ES6 Node.js/Express.js 模型对象的唯一主键