До этого весь прототип моего проекта состоял из одного хтмл файла, и одного подключенного к нему жс файла. Решил разбить код на отдельные модули, чтобы функции для отображения событий лежали в одном файле, функции для создания ДОМ-элементов в другом, всякие вспомогательные функции — в третьем.

Оказалось, что бразуер не умеет сам подгружать зависимости из других файлов. Можно пользоваться только тем, что подключено к хтмл тегом

Поэтому если хочешь при разработке пользоваться импортами, то придется использовать сборщик модулей. Это такая программа, которая получив джавскрипт-файл, проходит по всем его зависимостям и собирает все содержимое в один файл. Его в итоге и подключаешь к странице.

Чтобы не заморачиватся с выбором конкретного сборщика, взял себе первый попавшийся — вебпак. Разобраться с его настройкой помогла статья на хабре.