我有一个非常简单的 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 个副本加载到我的网站中。
有什么办法可以开玩笑地告诉我的反应组件 jQuery 已经存在于窗口中而不用担心它?