$不是一个功能。 Backbone,jQuery和Browserify

时间:2013-10-22 21:18:26

标签: javascript jquery node.js backbone.js browserify

我正在使用browserify创建节点应用程序来模块化前端代码。 不幸的是,我无法让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。

1 个答案:

答案 0 :(得分:12)

只需手动设置Backbone.$ = window.$即可。 Backbone在全局变量(通过捕获this定义)中查找jquery,并且浏览器很可能不在全局上下文中运行脚本(这与CommonJS一致)。