我正在尝试通过模块 jquery-browserify 将 jQuery 与 browserify 一起使用。我在我的 client.js 脚本中需要该模块:
var $ = require('jquery-browserify');
当我运行我的节点服务器时,在我运行 browserify 之后,我收到“未定义窗口”错误。我究竟做错了什么?
我正在尝试通过模块 jquery-browserify 将 jQuery 与 browserify 一起使用。我在我的 client.js 脚本中需要该模块:
var $ = require('jquery-browserify');
当我运行我的节点服务器时,在我运行 browserify 之后,我收到“未定义窗口”错误。我究竟做错了什么?
jQuery 现在与 CommonJS 兼容,从 2.1.0 版本开始
Browserify 可以使用转换处理 CommonJS 模块以及 AMD 模块,deamdify
因此现在应该不需要使用 shim。
需要明确的是,我只注意到 JQuery 2.0.0 中的 AMD 支持
jQuery 不兼容 CommonJS,即它不会通过module.exports = $
until导出自己2.1.0
。
因此,您需要通过browserify-shim对其进行填充。
browserify-shim
将动态填充任何版本的 jquery 或任何其他非 CommonJS 库,如 Zepto。自述文件中包含有关如何设置的详细信息。
作为替代方案,您也可以使用jquery-browserify,但是您将被绑定到该模块使 CommonJS 兼容的 jQuery 版本。