Html-react-parser: index.mjs gâche l'importation par défaut

Créé le 2 avr. 2021  ·  7Commentaires  ·  Source: remarkablemark/html-react-parser

Exportation par défaut introuvable. Ce problème a commencé à exister depuis que le index.mjs été ajouté. Lorsque je supprime ou renomme ce fichier du package installé, il se construit bien. Lorsque je le remets, je reçois à nouveau ces avertissements.

Peut-être que notre configuration de pack Web prend index.mjs en faveur de index.js , mais cela ne devrait pas, car je lui dis explicitement de ne trouver que .js et .jsx fichiers dans la configuration babel-loader.

La dernière version de travail connue est 1.1.2. Je vais rétrograder pour le moment, car la rétrogradation semble être la chose la plus fiable à faire jusqu'à ce qu'un correctif approprié soit disponible.

Comportement prévisible

Build OK, aucun avertissement.

Comportement réel

Avertissements partout où ce package est utilisé :

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

Étapes pour reproduire

Importez simplement comme ceci :

import parse from 'html-react-parser';

La solution de contournement consiste à importer comme ceci :

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

Ce qui fonctionne parfaitement bien. Mais puisque l'ancienne notation est dans la doc, je suppose que c'est comme ça qu'elle est censée être. C'est pourquoi cette dernière forme est une solution de contournement - pas une solution.

Démo reproductible

Désolé, c'est un projet vraiment compliqué, je ne sais pas si je peux le faire. Si c'est vraiment vraiment vraiment vraiment nécessaire, je peux essayer, mais honnêtement, ce problème me coûte déjà tellement de temps 😞

Environnement

  • Version : 1.2.4
  • Plateforme : Windows 10
  • Navigateur : Firefox 89

Tous les 7 commentaires

Désolé d'entendre parler du problème @thany.

Pour contourner le problème , pouvez-vous configurer votre

Merci, je vais essayer après Pâques.

Cela a fait l'affaire ! ??

Pour référence future, je devais opter pour:

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

Puisque dans notre cas, il construit un module à des fins SSR, au lieu d'une chose régulière qui va au navigateur.

Maintenant, je me pose encore la question. Est-ce une solution ou simplement une solution de contournement ? Je ne sais pas si cela nécessite toujours une solution appropriée ou si ce qui précède est la solution appropriée.

Jusqu'à présent, je n'ai pas vu beaucoup de problèmes concernant le changement de index.mjs (sauf quand j'ai cassé quelque chose). Je pense qu'il s'agit d'une solution de contournement pour ceux qui ont des configurations de packs Web plus complexes.

Assez juste, alors considérons cela comme une solution appropriée.

@thany voudriez-vous documenter cela dans le README.md ? Et est-ce qu'on est bon de clore ce problème ?

Cela pourrait être utile, oui. Bon pour fermer

Cette page vous a été utile?
0 / 5 - 0 notes