LoginSignup
18
18

More than 5 years have passed since last update.

BrowserifyでBackbone.jsを使うときのjQueryの解決

Posted at

Browserifyで次のように書いたら動かなかった。(bowerとdebowerifyも使ってる)

app.js
var Backbone = require('backbone');

var view = new Backbone.View(); //=> Uncaught TypeError: Property '$' of object #<Object> is not a function

これはBackbone.jsの現在のバージョン(1.1.0)での$の解決がrequireを使わずに次のようになっているから。

backbone.js
Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$;

※ ちなみにUnderscore.jsはrequireで解決されてる。(source

なのでjQueryは自分で解決してあげないとだめ。

app.js
var $ = require('jquery');
var Backbone = require('backbone');
Backbone.$ = $;

var view = new Backbone.View();

せっかくBrowserifyとBowerでいい感じに依存関係解決できるのにつらい感じはある。

と思ってたけど、Backboneのmasterではこの問題が解決されてる(source)。

ので、

$ bower install backbone#master

すれば、自動的にjQueryを解決してくれる。

はよリリースしてほしい。

18
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18