2012-11-24 2 views
0

у меня JavaScripts в нормальном общественных/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 

здесь все хорошо, но когда я пытаюсь добавить параметр запроса GET, как так

app.get('/blog/:title', routes.blog) 

я получаю актив журналы погрузочные как этот

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

Почему изменения в каталог «/ блог /» для JS.

Я ничего не изменил из обычной экспресс-установки app.js, поэтому я отправлю его и все мои зависимости, если это необходимо, но сначала я хотел бы увидеть, есть ли общее решение для этого.

ответ

2

ваш HTML использует относительные URL-адрес для src

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

изменений, что абсолютный URL, начиная с / и вы будете в порядке.

+0

вот оно! Огромное спасибо. –

+0

@MichaelSmith вы должны принять мой ответ, чтобы другие не читали этот вопрос без необходимости. Плюс yummy rep для меня! –

+0

Извинения, я забыл. –

0

Я думаю, это потому, что ваш HTML-файл загружает активы с использованием относительных путей, поэтому, когда в URL-адресе появляется вторая косая черта, пути перепутаны. Так, например; "/ blog" = хорошо, "/ blog /" = плохо. Вам нужно либо использовать абсолютные пути для ваших активов (пути, начинающиеся с косой черты, например «/blog/js/jquery.js»), либо динамически писать пути с использованием системы шаблонов (что-то вроде
«{ {rootpath}} blog/js/jquery.js ").

Смежные вопросы