Код – на гитхаб.
Плюс топик на gamedev.ru.
Там есть разделы для своих проектов. Опишите проект, оставьте ссылку на репозиторий с кодом.
Есть и другие аналогичные форумы https://yandex.ru/search/?text=разработка%20игр%20форум.
Куча ненужного кода.
Сделали бы песочницу с минимумом кода, воспроизводящего проблему и получили ответ.
Вместо этого скриншоты, не помогающие выявить причину и простыни кода, не относящиеся к проблеме...
romaro, Есть вариант развязать сущности. В бандле делаете общий обработчик. В ключевых моментах генерируете события. В отдельных скриптах слушаете события и выполняете какие-то кастомные для формы действия.
Это чисто оформительская хренька. Засорять разметку ради нее не стоит. Поэтому единственно верное решение (на мой взгляд, конечно) – псевдоэлемент заголовка.
romaro, А зачем вы бандл сверху размещаете? Все скрипты вниз и без defer.
Однако проблема еще может быть в ограничении области видимости.
Если класс объявлен в модуле, то он виден только в модуле. Или в тех модулях, куда он импортируется.
Чтобы он стал доступен глобально, его следует разместить в объекте window.
window.FormHandler = FormHandler; // в бандле
Это выглядит довольно коряво, но должно работать.
Правильнее, наверное, не писать скрипты отдельно, а собирать их все в один бандл. Если нужно некий код разделить постранично, то использовать штатный code splitting вебпака.
Плюс топик на gamedev.ru.
Там есть разделы для своих проектов. Опишите проект, оставьте ссылку на репозиторий с кодом.
Есть и другие аналогичные форумы https://yandex.ru/search/?text=разработка%20игр%20форум.