Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我必须主干。$=require(';jquery';)在browserify中_Jquery_Backbone.js_Browserify - Fatal编程技术网

为什么我必须主干。$=require(';jquery';)在browserify中

为什么我必须主干。$=require(';jquery';)在browserify中,jquery,backbone.js,browserify,Jquery,Backbone.js,Browserify,我正在阅读并自己练习 如果删除主干。$=$,代码将无法工作。为什么? var Backbone = require('backbone'); var $ = require('jquery'); Backbone.$ = $; module.exports = Backbone.View.extend({ initialize: function(){ console.log('wuuut') this.render(); }, render: function(

我正在阅读并自己练习

如果删除主干。$=$,代码将无法工作。为什么?

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>');
  }
});
var-Backbone=require('Backbone');
var$=require('jquery');
主干。$=$;
module.exports=Backbone.View.extend({
初始化:函数(){
console.log('wuut')
这个。render();
},
render:function(){
$('body')。前置('p>woooooooo

'); } });

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

默认情况下,主干具有以下代码:

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

如果您通过
require
加载模块,
$
对主干网不可用,因此您必须手动设置。如果您没有,则依赖于
jQuery
Backbone.View
将不起作用。

既然Backbone已经有了此分配代码,为什么还要手动重新分配?由于browserify包装其模块的方式,
$
在全局上下文中不可用,因此,在browserify模块内部调用$=$主干时,它不可用。