4
我使用express.js和passport.js實現了基於this tutorial的認證系統。使用ExpressJS保護靜態文件服務器
在過去,我已經使用modRewrite明示服務器是這樣的:
var express = require('express');
var modRewrite = require('connect-modrewrite');
var app = express();
var baseURL = './dev/';
var portnum = 3000;
app.use(modRewrite([
'^[^\\.]*$ /index.html [L]'
]))
.use(express.static(baseURL))
app.listen(process.env.PORT || portnum)
但是現在有了到位的驗證我使用像這樣的路線:
var baseURL = './dev/';
router.get('*', isAuthenticated, function(req, res, next){
// if path contains file extension
// behave as static file server
if (req.path.indexOf('.') !== -1) {
var fullPath = baseURL + req.path;
res.sendfile(fullPath)
// else send index.html
} else {
res.sendfile(baseURL + '/index.html')
}
});
我我認爲有更好的方法來做我想做的事情,我想利用express.static服務器以及modRewrite。此外,我的身份驗證服務器速度較慢,可能是因爲每次請求文件時都必須檢查身份驗證。任何提示如何使這個更快?
「每次請求文件時都必須檢查身份驗證」 - passport.js具有內置的會話管理,請參閱:http://passportjs.org/guide/configure/ – kol 2014-09-05 03:13:06