Ich mache eine Due Diligence im Backbone für eine einzelne Seiten-App und frage mich, ob es möglich ist, die gleichen Ansichten / Routen vom Client auf der Serverseite wiederzuverwenden, so dass Google eine Pushstate-URL besucht oder Es wird direkt zugegriffen, der Server kann exakt den gleichen HTML-Code generieren, der vom Backbone im Client generiert wird.
Es würde sehr mühsam sein, zwei getrennte Sichten / Routen zu haben, eine auf dem Client und eine auf dem Server. Ich habe das Backnode-Projekt auf Github gesehen, aber das scheint den Punkt etwas zu verfehlen und Sie müssen am Ende den gleichen Backbone-Router zweimal schreiben.
Sie fragen sich nur, wie die Leute im Allgemeinen mit dem Fall umgehen, wenn Sie Pushstate-URLs im Backbone verwenden und dieselbe Ansicht vom Server aus bedienen müssen? Verdoppeln Leute Code oder gibt es einen besseren Weg?
Ich habe das noch nicht ausprobiert, aber diese Ideen mit node.js und Backbone könnten helfen:
Im Grunde ist die einzige Möglichkeit, es so zu machen, dass Sie das Gleiche nicht zweimal schreiben, dass sowohl Ihr node.js-Server als auch der Frontend-Client denselben Routing- / Modellcode verwenden. Wenn Sie auf der Serverseite etwas anderes verwenden (wie Ruby), müssten Sie node.js vor Ihrem App-Server platzieren. Dann mache node.js einen Proxy für neue Clients (push state und client js) und mache das Rendering tatsächlich für alte / Bot-Clients.
Die andere Option ist, was jQuery Mobile macht, was die Hijax-Methode ist. Die Idee, tonnenweise HTML5-Seiten zu machen (man muss sich das Routing ansehen).
Aus Gründen der Vollständigkeit sollten Sie sich darüber im Klaren sein, wie Google AJAX Ссылка Ссылка / p>
Dieses Projekt macht genau das, was Sie versuchen zu tun. Es könnte Sie interessieren, es zu überprüfen. Ссылка
Tags und Links backbone.js seo pushstate singlepage