为什么我必须在浏览器中使用Backbone。$ = require(' jquery')

时间:2014-06-03 07:29:07

标签: jquery backbone.js browserify

我正在阅读this article并亲自练习。

如果我删除Backbone。$ = $,代码将无效。为什么?

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

module.exports = Backbone.View.extend({
  initialize: function(){
    console.log('wuuut')
    this.render();
  },

  render: function(){
    $('body').prepend('<p>wooooooooooooooo</p>');
  }
});

为什么在节点js中我必须将jquery分配给Backbone对象中的成员?

1 个答案:

答案 0 :(得分:3)

默认情况下,Backbone有以下代码:

// For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
// the `$` variable.
Backbone.$ = $;

如果您通过require加载模块,则$不可用于主干,因此您必须手动设置。如果你不这样做,Backbone.View依赖于jQuery将无法工作。