2012-11-24 2 views
0

나는 일반 대중 /의 JS/폴더에 내 자바 스크립트를 추가, 모든 '/', '/ 블로그'등express.js가 다른 경로가 다른 자산

app.get('/blog', routes.blog) 
    app.get('/', routes.index) 

때문에로드와 같은 정상적인 경로 정상적으로 작동 클라이언트에 자산 명시 로그

GET /js/jquery.js 304 3ms 
    GET /js/bootstrap.js 304 3ms 
    GET /js/showdown.js 304 2ms 

여기에 모든 것이 내가 그렇게

app.get('/blog/:title', routes.blog) 
같은 GET 요청에 매개 변수를 추가하려고하지만 경우에, 좋은

나는이

GET /blog/js/jquery.js 404 2ms 
    GET /blog/js/bootstrap.js 404 2ms 
    GET /blog/showdown.js 404 2ms 

같은 자산 로딩 로그가 왜이 JS에 대한 '/ 블로그 /'에 디렉토리를 변화 얻을.

일반 express app.js 설정에서 변경된 사항이 없으므로 필요에 따라이를 게시하고 모든 종속 항목을 게시하겠습니다. 그러나 먼저보고 싶은 공통 솔루션이 있습니다.

답변

2

당신의 HTML은 절대 URL에 /로 시작하는 당신은 괜찮을거야하는 src

<script src="js/jquery.js"></script> 

변경에 대한 상대 URL을 사용하고 있습니다.

+0

thats it! 매우 감사합니다. –

+0

@MichaelSmith 다른 사람들이이 질문을 불필요하게 계속 읽지 않도록 내 대답을 받아 들여야합니다. 나에게 더할 나위없이 좋은 점! –

+0

죄송합니다. 깜빡했습니다. –

0

HTML 파일은 상대 경로를 사용하여 애셋을로드하므로 URL에 두 번째 슬래시가 표시되면 경로가 엉망이됩니다. 그래서 예를 들면; "/ 블로그" = good, "/ blog /" = 나쁜.
같은 동적 템플릿 시스템을 사용하여 자산 (경로 예 "/blog/js/jquery.js", 슬래시로 시작을)에 대한 절대 경로를 사용하거나 경로를 작성하거나 필요 (뭔가 "{ {rootpath}} blog/js/jquery.js ").

관련 문제