$不是一个函数。 骨干,jQuery和Browserify

我正在用browserify创build节点应用程序来模块化前端代码。 不幸的是,我不能得到Backbone的工作,因为它抛出这个错误:

Uncaught TypeError: Property '$' of object #<Object> is not a function 

jQuery在此脚本之前加载:

 var _ = require('underscore'), Backbone = require('backbone'); // Here, jQuery works fine. $(function() { Backbone.history.start(); }); 

在使用browserify时,似乎Backbone找不到jQuery。

只需设置Backbone.$ = window.$手动。 Backbone在一个全局variables(通过捕获thisvariables来定义)中查找jquery,而且browserify可能不在全局上下文(这与CommonJS一致)中运行脚本。