在Express中渲染锚链接

时间:2014-09-15 15:50:10

标签: express

我在快递中遇到相关链接问题。他们似乎在两层深处工作,然后就停止了。

我试图说明我遇到的问题。

查看页面@ http://example.com - >单击href="level-1"的锚点。这可以按预期工作,并链接到http://example.com/level-1

查看页面@ http://example.com/level-1 - >单击href="level-2"的锚点。 这可以按预期工作,并链接到http://example.com/level-1/level-2

查看页面@ http://example.com/level-1/level-2 - >单击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;

希望我提供了足够的信息。

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。我不得不将尾随/添加到导致问题页面的锚点链接。

让我感到害怕的原因是它可以从导航栏访问第一级页面,并以href="/level-1/"的方式链接到所有页面,链接从那时起生成并且没有使用前向斜杠生成href="level-2"