2014-09-15 4 views
1

express의 관련 링크에 문제가 있습니다. 그들은 깊이 2 단계까지 작동하는 것처럼 보이고 멈 춥니 다.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". 이것은 이 아니며이 예상대로 작동하고 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; 

는 다행스럽게도 필자는 충분한 정보를 제공하고 있습니다.

+0

[이 질문에] (http://stackoverflow.com/questions/5559578/having-links-relative-to-root) 관련 항목이 있습니까? 나는 추측을하기 전에 이것을 먼저 조사 할 것이라고 생각했다. :) –

+0

답장을 보내 주셔서 감사합니다. 나는 그것이 좋겠다고 생각한다! 링크가 어떻게 작동하는지 이해합니다. 그것은 내가 조금 안개가 낀다는 것을 표현하는 '표현입니다. –

+0

죄송합니다. 내 의견을 마치기 전에 답장을했습니다 ... 루트 URL에서 정확히 예상대로 작동하며 '레벨 -1'페이지에서도 정확하게 작동합니다. IE는 href = "page"와 같이 링크 할 때 페이지가 현재 url에 추가됩니다. 레벨 1보다 깊어서 이런 일이 멈 춥니 다. –

답변

0

나는 내 문제에 대한 해답을 알아 냈다. 문제점 페이지로 연결되는 앵커 링크에 후행 /을 추가해야했습니다.

저를 던진 이유와 한 단계 깊숙한 곳에서 작업 한 이유는 탐색 모음에서 첫 번째 수준의 페이지에 액세스 할 수 있으며이 링크가 모두 href="/level-1/"의 링크 인 동시에 후행 슬래시로 생성되지 않으므로 href="level-2"입니다.