这样使用,阻止用户直接进入登录后的页面:
app.get('/main.html', function(request, response){
response.render('login',{info:'输入账户密码以登录'});
});
但是由于:
app.use(express.static(__dirname + '/public'));
而不能阻止用户访问main.html
请教一下有没有办法呢?谢啦~。
11 回复
@luinlee 哦,那反过来说是不是,use时把express.static放在app.router前面,就不能组织用户访问页面了? 因为默认使用命令express xxx 生成的app.js是router在static前,那假如router放static后,又有什么优劣呢?
"Note the use of app.router, which can (optionally) be used to mount the application routes, otherwise the first call to app.get(), app.post(), etc will mount the routes."
1.express
中对router的这句描述应该怎么理解呢?
意思是说可以手动去调用use
app.router
来挂载应用的路由,或者如果不手动调用,则express
会在第一次get
或post
请求中挂载吗?
2.是不是正是这个手动调用router
并配置调用位置的处理,来实现next
功能,进一步实现请求过滤器等?因为connect
源码中static
模块的send
方法有
// replace next() with callback when available
if (fn) next = fn;
是这样理解吗?, 我小白,对于express
的router模块挺迷惑……