我正在使用 browserify 使用 CommonJS 样式的依赖项来捆绑我的前端 javascript。例如,我有:
$ = 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 如何包装依赖项。有没有人解决过这个问题?