問題タブ [backbone-boilerplate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - バックボーンを使用した非同期テンプレートのロードとレンダリング後のアクション
バックボーンボイラープレートを使用してテンプレートをレンダリングしています。そのfetchTemplateメソッドは、レンダリングされたテンプレートをキャッシュします。
アコーディオンの初期化など、レンダリングされたコンテンツに対して追加のコードを実行したいのですが、非同期でコンパイルされたテンプレートを使用してこれを実行するのは、思ったよりも難しいです。
次に例を示します。
上記のほかに、 http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/で概説されているビューハンドラーを使用します
これは私が次のようなことをします
これは呼び出します
ただし、テンプレートがまだキャッシュされていない場合は、最初にレンダリングが呼び出され、時間どおりにポストレンダリングが呼び出されます。一方、テンプレートがすでにキャッシュされている場合、テンプレートはすぐにレンダリングされ、postrenderが呼び出されview.el
ますが、まだDOMに挿入されていないため、$(this.el)は空のリストであり、$('#duel -new')。each()は「void」です。
もちろん、viewHandlerのrender呼び出しの後にpostrenderメソッドを追加することもできますが、これは同じ問題を引き起こしますが、renderメソッドの最初の呼び出しで発生します。テンプレートはまだコンパイルされていないため、postrenderはその要素が存在する前に呼び出されます。したがって、これらの存在しない要素にハンドラーを定義することはできません。
この問題を適切に克服する方法についてのアイデアはありますか?たとえば、.onを使用した単純なクリックイベントの場合は比較的簡単ですが、たとえば、より一般的な構造については$('#tabs').tabs()
どうでしょうか。
私のfetchTemplate関数は次のとおりです。
php - バックボーン プロジェクトの PHP やヘッダーなどを使用してリリースのキャッシュを制御するにはどうすればよいですか?
そのため、プロジェクトのリリースを毎週行っていますが、クライアントが特定のファイルの古いバージョンを持っているという問題に直面しています。
スタックは、バックボーン ボイラープレートを備えた requirejs と PHP バックエンドを備えた Apache2 サーバーを備えたバックボーンです。
読み込まれるインデックス html ファイル、AJAX を使用して読み込まれるテンプレート HTML ファイル、そしてすべての js ファイルがあります。
この質問はhttps://stackoverflow.com/questions/12103341/backbone-boilerplate-disable-cachingに関連しているようですが、良い答えが見つかりませんでした。
キャッシュ制御ヘッダーと mod の有効期限が切れ、PHP の mod ヘッダーが役立つかもしれないと聞いたことがありますが、それらをすべてまとめる方法がわかりません。
基本的に、私たちがやりたいことは、prod サーバーへの新しいコードのリリース時に、すべてが少なくとも一度はキャッシュされないようにすることです。その後、ロード速度を上げるための通常のキャッシュが理想的です。
少なくとも、これらのものがキャッシュされるのを完全に防ぐ方法を理解しようとは思いません。
何か案は?
backbone.js - ビューを使用してバックボーン ボイラープレートを実装する方法
私はバックボーンを学ぼうとしていますが、正直なところ、少し圧倒されています。どこを見ても、わずかに異なる方法で行われており、それぞれがより多くのフレームワークとプラグインを学ぶ必要があります. そこで、私は Addy Osmani を信頼することに決め、彼の Backbone Fundamentals の本を読んでいます。私は彼の推奨に従い、Backbone-Boilerplate を使用しました。ただし、何らかの理由で Grunt BBB を正常にインストールできなかったため、動作するサンプルをダウンロードできません。
私がやろうとしているのは、このルーターセクションに従い、ビューを使用することです。http://addyosmani.github.com/backbone-fundamentals/#router.js .
問題は、これらの指示が不完全だと思うことです。まず、collection.fetch() 変数が間違ったスコープにあり、ビューをどこにどのように配置する必要があるかを本当に理解していません。これの実際の例を見ることができれば、それを理解できると確信していますが、前述したように、どこでも別の実装に見えます。
ルーターとビューでバックボーンボイラープレートを使用する方法を知っている人はいますか? どこかに実例はありますか?
node.js - Node.jsエクスプレスレスト+バックボーンボイラープレート(BBB)
expressとnode.jsを使用してRESTサービスを開発しました。以前は、さまざまなサーバーインスタンスで実行されるスタンドアロンのJavaRESTサービスでbackbone-boilerplateを使用しました。
次に、bbbをノードのRESTサーバーと統合して、Herokuに簡単にデプロイできるようにします。
bbbをRESTサーバーと組み合わせるデメリットはありますか?
同じサーバーで実行するようにbbbを構成するための最良のアプローチは何ですか?
この問題についての議論を見つけることなく検索しました。
backbone.js - コマンドリリースとハンドルバーに関するバックボーンボイラープレートの問題
これを機能させることができないようです。私はBBB-ハンドルバーを使用しています。開発中にこれを使用すると、アプリケーションは完全にレンダリングされ、問題はありません。コマンドBBBreleaseを実行し、アプリケーションでビルドおよびコンパイルされたrequire.jsファイルを指定するとすぐに、テンプレートがレンダリングされません。たとえば、私のテンプレートは{{model.someAttribute}}
の代わりにでレンダリングされます{{The models attribute}}
。したがって、角かっこをそのまま維持し、何らかの理由でハンドルバーはテンプレート全体をHtmlとして扱います。データをレンダリングしません。grunt.jsファイルを編集してさまざまな組み合わせを試しましたが、それでもうまくいきません。何か案は?
backbone.js - バックボーン ルートが呼び出されない
私はまだ理解できていない奇妙な問題を抱えています。それはおそらく私がそれに問題を抱えている理由です:)
まず、これがルーティングテーブルです...
機能しているものと機能していないものをマークしたことがわかります。問題は、すべてのサブルート (つまりreport/add
) が一致しないことに要約されます。
バックボーンの履歴は、次のように main.js で適切に呼び出されます。
明らかに、ルートはサブルートではなく機能しているため、これは適切な場所にあります。root
オプションBackbone.history
とサイレントを試してみましたが、parameter
運がありませんでした。
構成/セットアップの問題だと思いますが、答えを見つけることができませんでした。私は何を間違っていますか?どんな助けでも大歓迎です。
ところで、私はrequirejsとBackbone Boilerplateを使用していますが、それがどのように違いを生むかわかりません。
更新:提供された回答は技術的に正しいですが、問題はバックボーン ボイラープレートにあります。説明については、このブログ投稿の下部を参照してください。最初のコメント者と同じ問題を抱えています。
javascript - backbone.js アプリケーションでビジュアル ローダー バーを実装する
backbone.js アプリケーションが初めてロードされるとき、テンプレートがロードされるまでに 6 秒間空白の画面が表示されます。JavaScript ライブラリが少し肥大化しており、ビルド プロセスはまだ完全ではありませんが、これらは別の問題です。
私はrequire.jsでbackbone-boilerplateを使用しています。すべてのアセット、データ、テンプレートが読み込まれてレンダリングされている間に表示される一種のgmailタイプローダーが欲しいので、空白が読み込まれるだけではありませんページ。
とにかくこのようなことをすることはありますか?
javascript - Backbone.js モデルがビューに渡されない
backbone.js から始めて、backbone-boilerplate を使用して最初のプロジェクトを構築しています。
次のビューを持つNavitemという名前のモジュールがありますSidebar
。
サイドバーが構築されると、多数の を含むコレクションがサイドバーNavitem.Model
に渡されます。デバッグ後、model:navitem
正しく動作しているようで、正しいnavitem
モデルをnew Navitem.Views.Item({...})
. そのクラスは次のようになります。
テンプレートは次のようになり<a href="#"><%= model.get('label') %></a>
ます。
なんらかの理由Item.render()
で、最初のコード ブロックを呼び出すとmodel
、ビューで未定義であると泣き言を言います。なぜこれが起こっているのか理解できないようです。何かご意見は?
javascript - バックボーンボイラープレート条件付きコメント
バックボーンボイラープレート(https://github.com/tbranyen/backbone-boilerplate/blob/master/index.html)のindex.html内の条件付きコメントの重要性を誰かに教えてもらえますか?
異なるバージョンを構築するとき、それらはGruntに関連していますか?
ありがとう..
backbone.js - バックボーンの定型コードと grunt bbb を使用したビルド
grunt と bbb プラグインを使用して小さな backbone.js アプリを構築する方法については、Addy Osmani のガイドに従っています。しかし、私はまだいくつかのことについて混乱しています。たとえば、「bbb init」を実行した後、ページが読み込まれません。css ファイルと require.js ファイルの両方で参照エラーが発生します。
LAMP 環境 (OSX 上の MAMP) でビルドしています。grunt-bbb が Node.js から動作できることは知っていますが、そうする必要がありますか? バックボーンはクライアント側の mvc フレームワークなので、うまくいくはずです。「bbb server」を実行して開発サーバーを起動すると、すべて問題ないように見えます。しかし、ノード サーバーにデプロイすることはできません。アプリを Apache でホストする必要があります。