syncにjsonengine用に手を入れたい [backbone.js]

syncにjsonengine用に手を入れたい [backbone.js]
試した日
2012-08-23

jquery
1.7.2(※1

underscore.js
1.3.3(※2

backbone.js
0.9.2(※3

require.configで”backbone” : “…/backbone-min.js”みたいに登録してあると思うけど、そいつをちょっと変えたい。

jsonengineで”_doc”というキーに対してstringifyされたjsonを値にしてリクエストBODYを作っておきたい。

サーバーでrequest.getReader()して中身を取得した際に、_doc={…}という状態でデータが取れると望ましかった。

でも直接backboneを修正せずに何とかしたい。それはjavascriptのapplyメソッドを使えばなんとかなるだろうなとは思ったけど、requirejsと絡めたらどうなるだろー。という軽い気持ちでググったら、即効素敵な記事にたどり着いた!http://fiznool.com/post/18436104594/bootstrapping-your-libs-with-requirejs

このやり方はマルマル真似すればできる。

できたコードがこちら↓。

http://gist.github.com/3431516.js?file=[backbone.js] sync override

backboneを使っていたjsファイルからは、require.configに登録してあった”backbone”という呼び出し方法ではなく、上記のBackboneをオーバーライドしているファイル”libs/backbone”を呼び出すようにすればOK。

とても簡単にできてうれしい。