使用带有重定向和中间件的 express 提供 'static' 路由

Serve out 'static' route with express with redirect and middleware

我正在使用 express 4.0 提供静态 url:

app.use('/static-route', express.static('./static'));

效果很好。

但是,如果我的用户到达该路由,我想将他们重定向到带有查询参数的 url。

ie /static-route -> /static-route?someQueryParam=hello

我还想为该静态请求包含中间件。作为一个具体示例,我正在使用护照并希望确保用户已登录以访问该静态内容。

app.use(还有app.get等。。。)不带两个参数,第一个参数是路由(可选用),其余都是中间件。

app.use('/static-route', function (req, res, next) {
  // validation
  // redirect
  // etc . . .
  next();
}, express.static('./static'));
  • 对静态内容使用全局通配符路由[app.use('/') ]并且
  • 使用特定路由 [app.get(/myroute), app.post('/anotherroute')] 使用自定义逻辑进行动态处理
//Serves resources from public folder 
app.use('/',express.static(__dirname + '/public')); 

//Verify the complete directory path - especially slashes 
console.log('Static directory '+__dirname + '/public');

app.get('/list', function (req, res) {
    res.send('<html><body><h1>Hello World</h1></body></html>'); });