Как грамотно подключать свои модули в главный файл проекта?
Так, как вы сделали в конце.
Как обходите приведенную мной проблему CORS блокировку от браузеров (без явного указания type module)?
А это не проблема, которую надо как-то решать. У вас есть несколько способов на выбор: вы можете просто подключать файлы js (тем самым помещая их код в глобальный контекст), либо подключать ES модули при помощи атрибута
type=module
, либо использовать бандлеры.
Или сразу переводить проект не на модули а на классы?
Классы в JS — это просто такая же сущность, как и функции, переменные и др., их может быть несколько в одном файле, например. С точки зрения разделения кода на модули с отношениями импорта/экспорта классы не являются чем-то особенным.