質問

backback.jsのコレクションにlocalstorageを追加しようとしていますが、何らかの理由で、require.jsがそれをロードしません。

これが、jをロードする必要があるmain.jsファイルにあるものです: ジェネラコディセタグプレ

完全なソースは https://github.com/tominated/Vendotron で確認できます。ローカルストレージスニペットをコレクションに入れると、Chromeのコンソールでエラーが発生し、ストアが定義されていないと表示されるため、読み込まれていないことがわかります。

私が間違っていることについて何か考えはありますか?

役に立ちましたか?

解決

いくつかの問題があります。

最初に、backbone-localstorageへのパスを設定していますが、どこにもそれを必要としないため、実際にロードされることはありません。そのパスを設定することは、基本的に、ロードするのではなく、パスへのショートカットを定義することです。

2番目の問題は、バックボーン自体と同様に、ほとんどのバックボーンプラグインがAMDモジュールではないことです。彼らは最初にバックボーンをロードして、拡張機能を追加できるようにしたいと考えています。

バックボーンのAMDフォークを使用しているようですが、バックボーンローカルストレージは使用していません。既存のものを見つけようとするか、独自の同様のものを作成することができますこれに。

または、backbone-localstorageをそのままロードする(define呼び出しの依存関係リストに追加する)こともできますが、!orderプラグインを使用して、バックボーンが最初にロードされることを確認する必要があります。

他のヒント

Paulが言ったように、ローカルストレージモジュールはどこにも必要ありません。Require.js 2.0には、本質的に他のコードのプラグインであるJavaScriptコード用の特定のメカニズム(shimオプション)があります。localStorageを含めると、次のようになります。 ジェネラコディセタグプレ

この例は、記事「ビルドバックボーンアプリ」からコピーしたものです。RequireJSの使用」では、コードを構造化する方法と、アプリケーションをデプロイするときにコードを1つのファイルにコンパイルする方法についても説明しています。

アンダースコアとバックボーンが必要なソースコードの内部を見ると、require configのパス定義は、ローカルストレージの必要なパスと一致している必要があります。つまり、大文字と小文字が区別されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top