首页 新闻 会员 周边 捐助

express路径设置问题

0
悬赏园豆:10 [已解决问题] 解决于 2016-09-16 12:23

如果自己请求静态资源时,想给其添加个中间件。路径要如何设置,假设静态资源的url为http://localhost:3000/index.html.我的想法是app.use(‘/index.html’,fn)但是发现没有效果。网上找了好多都没有发现满意的。记住只是给静态资源下的某一个页面添加中间件,路径该如何设置

老街的主页 老街 | 初学一级 | 园豆:192
提问于:2016-09-15 19:57
< >
分享
最佳答案
1

不需要设置,app.use('/static', express.static(path));

收获园豆:10
幻天芒 | 高人七级 |园豆:37207 | 2016-09-15 22:00

你好,其实我是想给静态首页添加一个basic-auth,做一个简单的认证,确保只有管理员能用。所以要用到中间件,如果我直接写app.use(‘/’,auth) 别的电脑访问我的内部页面时都需要认证,但是我不希望这样。我应该怎么写路径才能保证只有访问静态首页时才需要认证。别的页面则不需要。谢谢

老街 | 园豆:192 (初学一级) | 2016-09-16 10:18

@老街: 直接在static之前,先app.use('/static', 授权);

幻天芒 | 园豆:37207 (高人七级) | 2016-09-16 11:14

@幻天芒: 那个我已经写了,app.use(express.static(path.join(__dirname, 'public')));麻烦你帮我看看我这个问题怎么弄呢,谢谢

老街 | 园豆:192 (初学一级) | 2016-09-16 11:18

@老街: 两个的第一个参数要一致哇。

幻天芒 | 园豆:37207 (高人七级) | 2016-09-16 11:20

@幻天芒: 你的意思是app.use('/public',auth)?还是app.use('/index.html',auth)?我试了都不对啊,能不能说的清楚点啊,自己是小白,十分谢谢

老街 | 园豆:192 (初学一级) | 2016-09-16 11:29

@老街: 静态文件一般是处理目录,而不是想你那样直接给一个/index.html

 

两句代码如下:

app.use('/static', auth); // 先授权
app.use('/static', express.static(path)); //在静态返回

访问地址就是: /static/index.html
幻天芒 | 园豆:37207 (高人七级) | 2016-09-16 11:31

@幻天芒: 谢谢你啊,搞好了,谢谢

老街 | 园豆:192 (初学一级) | 2016-09-16 12:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册