gpt4 book ai didi

node.js - 从 express 中的静态文件中排除子目录

转载 作者:IT老高 更新时间:2023-10-28 22:59:38 25 4
gpt4 key购买 nike

有没有办法从 express 4.8.5 中的 express 静态中间件中排除子目录。

例如,如果我有:

app.use(express.static(__dirname + 'public'));

我的公共(public)目录是这样的:

- public  
- css
- images
- scripts
- index.html
- exclude_me
- scripts
- views
- index.html

所以我需要排除最后一个子目录以及用户何时这样做:

GET /exclude_me

它应该调用我的路由而不是自动返回目录。

我不能只从公共(public)目录中删除它,因为它依赖于其中的内容,因为 public 目录是 Angular 应用程序,而 exclude_me 是另一个从中获取脚本的 Angular 应用程序/exclude_me/scripts AND 来自 /public/scripts

我知道这有点令人困惑,但它就是这样,我不能将它从公共(public)目录中删除,因为它不会再看到需要的 public/scripts 并且我不能离开它因为那时我无法授权(所有授权都在 public/scripts)

如果有更聪明的方法可以做到这一点,请随时告诉我 :)

最佳答案

您可以添加自己的中间件。以下是我为排除某些文件夹所做的操作:

app.use('/public', (req, res, next) => {
if (env !== 'development') {
var result = req.url.match(/^\/js\/(maps|src)\/.+\.js$/)
if (result) {
return res.status(403).end('403 Forbidden')
}
}
next()
})
app.use('/public', express.static(path.join(__dirname, '/public')))

关于node.js - 从 express 中的静态文件中排除子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com