问题
I am creating node app with browserify to modularize frontend code. Unfortunately, I can't get Backbone working, because it's throw this error:
Uncaught TypeError: Property '$' of object #<Object> is not a function
jQuery is loaded before this script:
var _ = require('underscore'),
Backbone = require('backbone');
// Here, jQuery works fine.
$(function() {
Backbone.history.start();
});
It's seem like Backbone couldn't find jQuery when using browserify.
回答1:
Just set Backbone.$ = window.$
manually. Backbone looks for jquery in a global variable (which is defined by capturing this
) and it's likely that browserify runs script not in a global context (which is consistent with CommonJS).
来源:https://stackoverflow.com/questions/19528559/is-not-a-function-backbone-jquery-and-browserify