Я использую браузер, чтобы связать мой внешний интерфейс javascript с использованием зависимостей типа CommonJS. Например, у меня есть:
$ = require('jquery/dist/jquery'); // v2.1.0-beta2
_ = require('underscore');
Backbone = require('backbone');
Тем не менее, при прошивке пакетов зависимостей я запускаю следующую консольную ошибку:
Error: jQuery requires a window with a document
Глядя на код jQuery, я вижу, что он пытается использовать this
для глобального window
.
(function( window, factory ) {
....
}(this, function( window ) {
Поскольку браузер оборачивает все зависимости, this
является object
, а не window
.
Интересно, что jQuery >= 2 должен быть совместимым с CommonJS. Однако проблема заключается в том, как браузеру обертывает зависимости. Кто-нибудь решил эту проблему?