我有一个非常简单的 React mixin,它使用 jQuery 来触发一个事件
MyMixin = {
trackStructEvent: function () {
args = Array.prototype.slice.call(arguments);
$('body').trigger('myEvent', args);
}
module.exports = MyMixin
这是使用 browserify 作为一组新组件的一部分导入到主站点的。由于包含这些组件的主站点将始终包含 jQuery,我不想在 browserify 中使用 jQuery,因为它会被复制。
这在行为方面不是问题 - 但是在运行 jest 以使用此 mixin 对组件进行单元测试时会导致问题,从而引发错误。
ReferenceError: $ is not defined
我知道我可以通过在 browserify 中包含 jQuery 来解决这个问题,但这会将 2 个副本加载到我的网站中。
有什么办法可以开玩笑地告诉我的react组件 jQuery 已经存在于窗口中而不用担心它?