Как избежать «circular dependency» при вызове функции главного модуля из компонента Svelte?
В главном модуле main создаётся компонент Svelte.
Чтобы вызвать из него функцию модуля main, прописываю
import {test_function} from '../../main.js';
Это работает, но при компиляции выводится предупреждение "(!) Circular dependency"
Как в данной ситуации избежать циркулярной зависимости?
===================================================
Решение:
после загрузки элемента в DOM просто вешаем на него событие
let el = document.getElementById("test_button");
el.addEventListener("click", test_function, false);
Самое простое и правильное решение будет вынести test_function в отдельный модуль.
В принципе es-модули вполне умеют в циклические зависимости, за счет bind семантики, но на практике это приносит больше проблем, чем пользы