Html-react-parser: index.mjs портит импорт по умолчанию

Созданный на 2 апр. 2021  ·  7Комментарии  ·  Источник: remarkablemark/html-react-parser

Экспорт по умолчанию не найден. Эта проблема начала существовать с момента добавления index.mjs . Когда я удаляю или переименовываю этот файл из установленного пакета, он собирается нормально. Когда кладу обратно, снова получаю эти предупреждения.

Возможно, наша конфигурация веб-пакета забирает index.mjs в пользу index.js , но этого не должно быть, поскольку я явно говорю ему, чтобы он находил только .js и .jsx files в конфиге babel-loader.

Последняя известная рабочая версия - 1.1.2. Я пока буду понижать версию, так как это кажется наиболее надежным, пока не станет доступным правильное исправление.

Ожидаемое поведение

Сборка ОК, предупреждений нет.

Фактическое поведение

Предупреждения везде, где используется этот пакет:

export 'default' (imported as 'parse') was not found in 'html-react-parser'

Действия по воспроизведению

Просто импортируйте вот так:

import parse from 'html-react-parser';

Обходной путь - импортировать следующим образом:

import * as parse from 'html-react-parser';

Что работает абсолютно нормально. Но поскольку в документации есть прежние обозначения, я предполагаю, что так оно и должно быть. Следовательно, последняя форма - обходной путь, а не решение.

Воспроизводимая демонстрация

Извините, это действительно сложный проект, я не уверен, что смогу с ним справиться. Если это действительно действительно действительно необходимо, я могу попробовать, но, честно говоря, эта проблема уже отнимает у меня столько времени 😞

Среда

  • Версия: 1.2.4
  • Платформа: Windows 10
  • Браузер: Firefox 89

Все 7 Комментарий

Сожалеем, что слышали о проблеме @thany.

Можно ли в качестве обходного пути настроить конфигурацию веб-пакета ?

Спасибо, попробую после Пасхи.

Это сработало! 😀

Для справки в будущем мне пришлось пойти на:

resolve: {
  // ...
  mainFields: ['main', 'module'],
}

Поскольку в нашем случае он строится в модуле для целей SSR, а не в обычном модуле, который передается в браузер.

Я все еще задаюсь вопросом. Это решение или просто обходной путь? Я не уверен, что для этого все еще требуется правильное решение, или это действительно правильное решение.

До сих пор я не видел много проблем с изменением index.mjs (кроме случаев, когда я действительно что-то сломал). Я считаю, что это обходной путь для тех, у кого более сложные конфигурации веб-пакетов.

Достаточно справедливо, тогда давайте рассмотрим это правильное решение.

@thany , хотите ли вы задокументировать это в README.md ? И готовы ли мы закрыть этот вопрос?

Да, это может быть полезно. Хорошо закрыть 👍🏻

Была ли эта страница полезной?
0 / 5 - 0 рейтинги