2012-10-04 3 views
0

Я новичок в обеих этих технологиях, и мне интересно, как лучше всего настроить мое приложение. Я хочу, чтобы у вас не было хастагов, и просто используйте pushState. Кроме того, из того, что я прочитал, лучше всего иметь соединение между стороны сервера рендеринга и клиентской стороной, но я не уверен, как это установить. Я выяснил, как сделать это один или другой, но не вместе.Экспресс и магистральная маршрутизация с pushState

Как прямо сейчас здесь, где я нахожусь:

Экспресс маршрутов

app.get('/', site.index); 
app.get('/product/:id', wiki.show); 

Опять же это отлично работает без использования PushState, но теперь не могу объединить два вместе?

ответ

1

Чтобы создать гибридное клиент/серверное приложение, вы хотите, чтобы и клиент, и сервер могли отображать каждый вид. Когда пользователь посещает ваш сайт, сервер визуализирует представление и отправляет html пользователю. На данный момент клиентское приложение загружается, и любые относительные ссылки должны быть перехвачены и заменены базовой системой навигации.

$(document).on('click', 'a:not([data-bypass])', function(e){ 
    href = $(this).prop('href') 
    root = location.protocol+'//'+location.host+'/' 
    if (root===href.slice(0,root.length)){ 
    e.preventDefault(); 
    Backbone.history.navigate(href.slice(root.length), true); 
    } 
}); 

Эта строка коды, когда магистральная приложение запустится, будет ловить все тег привязки без атрибута данных шунтирования и функций пожарного маршрута в клиентском приложении вместо отправки запросов для этой страницы на сервер. Добавьте атрибут обхода данных для создания ссылки, которая не будет запускать функцию маршрута.

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