Почему мой класс по умолчанию не импортируется в ES6?

Я впервые работаю с babel-loader внутри webpack, и я тоже новичок в ES6. Я пытаюсь экспортировать базовый класс из одного файла и импортировать его в другой. Экспорт и импорт до сих пор работали нормально во всем моем файле, и я впервые столкнулся с проблемой при попытке создать классы.

Вот как выглядит мой код:

BaseClient.js

export default class BaseClient {
  // snip...
};

SessionClient.js

import BaseClient from './BaseClient';

// outputs "undefined":
console.log(BaseClient);

// throws "Uncaught TypeError: Super expression must either be null or a function, not undefined":
export default class SessionClient extends BaseClient {
  // snip...
};

Я делаю что-то неправильно? Есть ли какая-либо важная информация, которую мне не хватает в моем вопросе, необходимая перед диагностикой? Спасибо!


person Matt Huggins    schedule 04.07.2015    source источник
comment
Это должно работать iirc. Вы используете правильный путь?   -  person Bergi    schedule 04.07.2015
comment
Я использую правильный путь. Я попробовал поддельный путь, чтобы убедиться, и это дало мне ошибку о том, что файл не существует, поэтому я знаю, что это правильно.   -  person Matt Huggins    schedule 04.07.2015
comment
Это упрощенный пример? Просто интересно, могут ли у вас быть циклические ссылки в вашем реальном коде, так как это может привести к этой проблеме.   -  person loganfsmyth    schedule 05.07.2015
comment
Да, это было так. Вчера поздно вечером я понял, что случайно создал циклическую ссылку при разделении базового клиента. Добавьте свой комментарий в качестве ответа, и я приму его. :)   -  person Matt Huggins    schedule 05.07.2015
comment
Та же проблема с совершенно другим кодом. Это также была проблема циклической зависимости. Спасибо!   -  person Blackus    schedule 21.12.2015


Ответы (1)


Да, я тоже встречал эту проблему. Это вызвано циклической ссылкой между разными файлами в очень длинной цепочке ссылок.
Например:
введите здесь описание изображения

person Pober Wong    schedule 13.08.2017