使用带有重定向和中间件的 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>'); });
我正在使用 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>'); });