Browserify z jQuery> = 2 produkuje „jQuery wymaga okna z dokumentem”

Używam browserify, aby spakować mój front-end javascript przy użyciu zależności typu CommonJS. Na przykład:

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

Jednak kiedy browserify pakuje zależności, uruchamiam następujący błąd konsoli:

Error: jQuery requires a window with a document

Patrząc na kod jQuery, widzę, że próbuje go użyćthis dla globalnegowindow.

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

Ponieważ browserify zawija wszystkie zależności,this jestobject, niewindow.

Co ciekawe, jQuery> = 2 powinno być kompatybilne z CommonJS. Problemem jest jednak sposób, w jaki browserify zawija zależności. Czy ktoś rozwiązał ten problem?

questionAnswers(5)

yourAnswerToTheQuestion