我正在使用 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 如何包装依赖项。有没有人解决过这个问题?