У меня есть приложение написано в express.js, и я стараюсь, чтобы разделить это приложение на 2 части:Экспресс - общедоступный каталог разделен на авторизованных/неавторизованных пользователей
- один для неавторизованных пользователей (с маршрутами только в/- целевая страница,/логин и/* - error404)
- и второй (маршруты будут:/- целевая страница,/приложение/* - угловой SPA, который будет обрабатывать маршрутизацию на своих собственных)
Экспресс также настроен на получение статических файлов с /unauth/public/
A ой, я хочу, чтобы добавить второй статический папку для запроса из авторизованных маршрутов - /auth/public
, который идет в/приложение/*
Мой маршрут конфигурации выглядит следующим образом:
var authRoutes = express.Router();
var unauthRoutes = express.Router();
authRoutes.get('/app/*', function(req, res, next) {
if(!req.isAuthenticated())
return res.redirect("/login/");
res.send("AUTHORIZED");
});
unauthRoutes.get('/', function(req, res, next) {
res.send("LANDING PAGE");
});
unauthRoutes.get('/login/', function(req, res, next) {
if(req.isAuthenticated())
return res.redirect("/app/");
res.send("LOGIN PAGE");
});
unauthRoutes.get('/registration/', function(req, res, next) {
if(req.isAuthenticated())
return res.redirect("/app/");
res.send("REGISTRATION PAGE");
});
unauthRoutes.get('/*', function(req, res, next) {
res.send("ERROR 404");
});
app.use('/', authRoutes);
app.use('/', unauthRoutes);
Я попытался изменить req.url и вызов другой статический oruter express.static('auth/public')
на этой основе:
Using express.static middleware in an authorized route
Но я не знаю, как маршрут app.get('/auth/*', ...)
для обработки - предыдущая модификация заменит URL и этот маршрут никогда не будет называться ..