私はいくつかのバックボーンアプリを構築し、クライアント側のコード構造と構成に感謝しています。Expressを使用してノード開発に移行していますが、ルートの処理でExpressとBackboneがどのように連携できるかがわかりません。
3 に答える
ノードとバックボーンは互いに独立していることを理解する必要があります。
- ノードはサーバー側用です(たとえば、データベースの操作、APIサービスなど)。
- バックボーンはクライアント側のJavascriptMVCフレームワークであり、クライアント側のJavascriptアプリケーションを整理するための構造を提供します。(ブラウザのアプリケーション)
クライアント側にバックボーンアプリケーションを配置でき、ノード、Rails、PHPなどのバックエンドに接続できます...
詳細については、クライアント側のMVVMパターンとJavascriptフレームワークを確認してください。
http://backbonetutorials.com/why-would-you-use-backbone/
http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/
友人が私に答えをくれました:
バックボーンはハッシュルートを使用します。たとえばhttp://yoursite.com/#foo
Expressは従来のhttp://yoursite.com/fooを使用します
クライアント側の機能のハッシュルートとサーバー側の機能の従来のルートなど、パス先のルーターに基づいて、互いに独立したルーターを使用できます。
両方のルーターが共存できます。
BackboneとExpressがどのように連携できるかについてのあなたの質問は、実際には正確に答えることができません。なぜなら、それらが連携できる方法は本当に無数にあるからです。うまくいけば、以下の情報のいくつかがあなたがやりたいことをするのに役立つでしょう。
まず、クライアント側(バックボーン)でwww.example.com/foo(#なし)ルートを使用できます。Backbone.history.start ()ドキュメントのpushState
オプションを参照してください。クライアント側とサーバー側でルートを統合することが可能です。ただし、正確な方法を見つけるのは簡単ではありません。
これらのリンクの下にある情報のいくつかはあなたを助けるかもしれません:
- https://github.com/developmentseed/bones
- https://github.com/SC5/backbone-serverside
- https://github.com/tysoncadenhead/backbone-on-express
- http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
- http://blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/
あなたはBackboneの経験があると書いていますが、最近Nodeに移行しているので、Expressだけでなく他のフレームワークにもオープンであると思います。あなたは例えばを使用することを検討するかもしれません。(Expressに加えて) restifyして、Backboneと統合できるRESTfulサービスを作成します。
1つのコードベースを使用してクライアント側とサーバー側の両方をカバーするDerbyやMeteorのようなフレームワーク全体もあり、ルーターだけでなく、はるかに多くのことを共有できます。
(また、今年(2013)のHTML5DevConfトーク:サーバーサイドバックボーンによるロボットと古いブラウザーの存続を見つけました。まだ見ていませんが、あなたの問題に非常に関連しているようです。)