Немного странно с веб-пакетом.
У меня было странное поведение в отношении директивы require.
Модуль webgl использует библиотеку AssetLoader (https://github.com/mattdesl/assetloader), которая должна использовать узел по умолчанию events@1.1.1, однако при интеграции с Gatsby он использует events@3.0.0 из node-libs-browser.
При запуске gatsby development AssetLoader использует класс eventEmitter из node-libs-browser, а не из пакета событий.
npm list events
дает
└─┬ events@1.1.1
└─┬ gatsby@2.11.7
└─┬ webpack@4.28.4
└─┬ node-libs-browser@2.2.1
└── events@3.0.0
Пока что мое единственное исправление состояло в том, чтобы форкнуть AssetLoader и изменить код, чтобы он использовал правильный класс событий без необходимости перекодировать часть библиотеки.
Должен ли веб-пакет загружать первый пакет событий?
Есть ли способ вызвать зависимость при выполнении запроса?
что-то вроде
require("events@1.1.1")
или
require("../events")