jQueryを使用してイベントをトリガーする非常に単純なReact mixinがあります
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がすでにウィンドウに存在し、それについて心配しないように冗談で伝える方法はありますか?