Browserify с помощью jQuery> = 2 выдает «jQuery требует окно с документом»

Я использую browserify, чтобы связать мой интерфейсный javascript, используя зависимости в стиле CommonJS. Например, у меня есть:

$ = require('jquery/dist/jquery');  // v2.1.0-beta2                                                                                                                                                                       
_ = require('underscore');                                                                                                                                                                                 
Backbone = require('backbone');

Однако, когда browserify связывает зависимости, я сталкиваюсь со следующей ошибкой консоли:

Error: jQuery requires a window with a document

Глядя на код jQuery, я вижу, что он пытается использоватьthis для глобальногоwindow.

(function( window, factory ) {
....
}(this, function( window ) {

Так как browserify оборачивает все зависимости,this являетсяobject, неwindow.

Что интересно, jQuery> = 2 должен быть совместим с CommonJS. Однако проблема заключается в том, как browserify оборачивает зависимости. Кто-нибудь решил эту проблему?

Ответы на вопрос(5)

Ваш ответ на вопрос