Конфликт при импорте модулей друг в друга — почему и как избежать?

Такие дела.

Проект состоит из нескольких самописных js-модулей.
Два из которых называются Search.js и PostRender.js.

Search.js
import PostRender from '../modules/PostRender.js';

const postRender = new PostRender();

export default class Search {}


PostRender.js
import Modal from '../modules/Modal.js';
import Device from '../modules/Device.js';
import Search from '../modules/Search.js';

const modal = new Modal();
const device = new Device();
const search = new Search();

export default class PostRender {}


При таком раскладе, после транспиляции в babel, возникает ошибка
Uncaught TypeError: _PostRender2.default is not a constructor

Так же PostRender подключается в основной app.js, но что с того? Ведь Modal.js и Device.js у меня подключаются вообще почти во все остальные модули.

Такая ошибка возникает, только если два модуля подключить друг в друга.
От чего она возникает и как ее избежать?
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
Мб как нибудь разбить модули, чтобы не подключать два модуля друг в друга?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы