У меня проблема с относительными ссылками в экспресс. Похоже, что они работают на двух уровнях, а затем останавливаются.Предоставление привязных ссылок в Express
Я попытаюсь проиллюстрировать вопрос, который у меня есть.
Просмотр страницы @http://example.com
-> click anchor with href="level-1"
. Это работает как ожидается, и ссылки на http://example.com/level-1
.
Просмотр страницы @http://example.com/level-1
-> click anchor with href="level-2"
. Работает так, как ожидалось, и ссылки на http://example.com/level-1/level-2
.
Просмотр страницы @http://example.com/level-1/level-2
-> click anchor with href="level-3"
. Это делает NOT работает как ожидалось и ссылается на http://example.com/level-1/level-3
. я могу получить доступ http://example.com/level-1/level-2/level-3
с помощью href="level-2/level-3"
Я думал, что это может быть путь организованы мои маршруты, но независимо от того, что я делаю для них поведение, кажется, то же самое.
В настоящее время у меня есть что-то вроде
main.js
...
var app = express();
var routes = require('./router')(app);
маршрутизатор/index.js
module.exports = function(app) {
app.use('/level-1', require('./routes/level-1'));
app.use('/', require('./routes/home'));
};
маршрутизатор/маршруты/уровень 1.js
var express = require('express');
var router = express.Router();
router.use('/level-2', require('./level-2'));
router.get('/', function(req, res) {
res.render('level-1');
});
module.exports = router;
маршрутизатор/маршруты/уровня 2.js
var express = require('express');
var router = express.Router();
router.use('/level-3', require('./level-3'));
router.get('/', function(req, res) {
res.render('level-2');
});
module.exports = router;
маршрутизатор/маршруты/уровня 3.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.render('level-3');
});
module.exports = router;
Надеюсь, я предоставил достаточно информации.
Что-нибудь в [этом вопросе] (http://stackoverflow.com/questions/5559578/having-links-relative-to-root) уместно? Думал, что я сначала проведу это, прежде чем спекулировать. :) –
Спасибо, что ответили. Хотелось бы! Я понимаю, как работают ссылки. Это выражает «обращение с ними, что я немного туманный. –
Извините, ответили перед тем, как закончить мой комментарий ... В корневом URL-адресе они работают точно так, как я ожидал, также на страницах уровня 1 они работают точно так, как я ожидаю. IE при связывании, например href = "page", страница будет добавлена к текущему URL-адресу. Глубоко, чем уровень один, и это останавливается. –