Почему мне нужно использовать Backbone.$ = require('jquery') в браузере

StackOverflow https://stackoverflow.com//questions/24009409

  •  21-12-2019
  •  | 
  •  

Вопрос

я читаю Эта статья и практикую это сам.

Если я удалю 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?

Это было полезно?

Решение

По умолчанию Backbone имеет следующий код:

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

Если вы загружаете свои модули через require, $ недоступен для магистральной сети, поэтому вам придется установить его вручную.А если нет, Backbone.View, что зависит от jQuery не сработает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top