2012-12-17 7 views
6

私はいくつかのバックボーンアプリケーションを構築しており、クライアント側のコード構造と組織を高く評価しています。 Expressを使用してNode開発に移行しています.ExpressとBackboneがどのようにルートの処理に協力するのかは不明です。ExpressアプリケーションでBackboneとExpressの両方のルータを連携させることはできますか?

+0

Backbone.Routerは、クライアント側のためでありますすなわち、ajax経由でページを更新するときに、html5履歴APIを使用してURLを変更します。あなたは何をしようとしているのですか? – jordanj77

答えて

3

ノードとバックボーンが互いに独立していることを理解する必要があります。

  • ノードは(データベースでの作業例えば、APIサービス提供など)、サーバー側のためのものです。
  • バックボーンは、クライアントサイドのJavascriptアプリケーションを整理するための構造を提供するクライアントサイドのJavascript MVCフレームワークです。 (ブラウザでアプリケーション)

はあなたのクライアント側でのバックボーンアプリケーションを持つことができ、それがどのバックエンドのいずれかのノード、Railsの、PHPなど...

の詳細についてはにフックすることができますinfoクライアント側でMVVMパターンとJavascriptフレームワークをチェックします。

http://backbonetutorials.com/why-would-you-use-backbone/

http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/

+1

バックボーンモデルとコレクション、そしてバックエンド側のビューとイベントを使用することができます。おそらく一部の調整をしたルータもあります。 –

+0

これは正しいです。質問者が概念を最初に理解するための簡単な情報を提供しました。 –

+1

Serdarに感謝、私はExpressを使用していることを説明するのを忘れました。私はバックボーンとクライアントサイドのJavaScriptを強く理解しています。私がよく分からないことは、ExpressルーティングとBackbone Routingが共存できる方法です。 Backboneアプリケーションでは、訪問者が/ fooに移動すると、ルータにfooパスがあり、Backboneのモデルとビューを生成する関数を実行するように記述します。しかし、Expressアプリケーションでは、Expressはこのルーティングを処理し、独自の関数(req、res)を実行する必要があります。これらは一緒に働くことができますか、私は1つを選ぶ必要がありますか? – AndrewHenderson

2

友人が私に答えを与えた:

バックボーンは、ハッシュルートを使用しています。クライアント側の関数のハッシュルートとサーバ側の機能のための伝統的なルート - 例えばhttp://yoursite.com/#foo

Expressは、あなたがにあなたのパスに対処互いベース1の独立したルータを使用することができます

http://yoursite.com/foo伝統を使用します。 。

両方のルータを共存させることができます。

1

BackboneとExpressが一緒に働く方法についてのあなたの質問には、実際には無限の方法で彼らが一緒に働くことができるので、本当に正確に答えることはできません。うまくいけば、以下の情報のいくつかはあなたがしたいことをするのを助けることができます。クライアント側(バックボーン)上のすべて、あなた使用www.example.com/foo(なし#)ルートの

まず - Backbone.history.start()ドキュメントのpushStateオプションを参照してください。クライアント側とサーバー側で経路を統合することは可能です。しかし、どのように行うかを正確に見つけることは容易ではありません。

これらのリンクの下での情報の一部はあなたを助けることがあります。

あなたはBackboneの経験があると書いたが、最近Nodeに移っているので、Expressだけでなく他のフレームワークにもオープンしていると仮定している。あなたは、例えば、 restify(Expressに加えて)は、Backboneと統合できるRESTfulなサービスを作ります。

DerbyまたはMeteorのように、クライアント側とサーバー側の両方をカバーする1つのコードベースを使用するフレームワークもあります。

(。また、私は今年の(2013)HTML5DevConf話見つけた:Surviving Robots and Old Browsers by Server-side Backboneを私はまだそれを見ていないが、それはあなたの問題に非常に関連すると思われる。)

関連する問題