Html-react-parser: index.mjs estropea la importación predeterminada

Creado en 2 abr. 2021  ·  7Comentarios  ·  Fuente: remarkablemark/html-react-parser

Exportación predeterminada no encontrada. Este problema comenzó a existir desde que se agregó index.mjs . Cuando elimino o cambio el nombre de este archivo del paquete instalado, se compila bien. Cuando lo devuelvo, vuelvo a recibir estas advertencias.

Tal vez nuestra configuración de paquete web esté recogiendo index.mjs a favor de index.js , pero no debería, ya que le digo explícitamente que solo encuentre .js y .jsx archivos en la configuración de babel-loader.

La última versión de trabajo conocida es 1.1.2. Estaré bajando de categoría por el momento, ya que la degradación se siente como lo más confiable que se puede hacer hasta que esté disponible una solución adecuada.

Comportamiento esperado

Construir bien, sin advertencias.

Comportamiento real

Advertencias en todos los lugares donde se utiliza este paquete:

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

Pasos para reproducir

Solo importa así:

import parse from 'html-react-parser';

La solución alternativa es importar así:

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

Que funciona absolutamente bien. Pero dado que la notación anterior está en los documentos, supongo que así es como se pretende que sea. Por lo tanto, la última forma es una solución alternativa, no una solución.

Demo reproducible

Lo siento, es un proyecto realmente complicado, no estoy seguro de poder hacer esto. Si es realmente realmente realmente necesario, puedo intentarlo, pero honestamente, este problema ya me está costando mucho tiempo 😞

Medio ambiente

  • Versión: 1.2.4
  • Plataforma: Windows 10
  • Navegador: Firefox 89

Todos 7 comentarios

Lamento oír hablar del problema @thany.

Como solución alternativa, ¿puede configurar la configuración de su paquete web ?

Gracias, lo intentaré después de Pascua.

¡Eso funcionó! 😀

Para referencia futura, tuve que optar por:

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

Dado que en nuestro caso, se construye en un módulo para propósitos de SSR, en lugar de algo normal que va al navegador.

Ahora, todavía me pregunto. ¿Es esta una solución o simplemente una solución alternativa? No estoy seguro de si esto aún requiere una solución adecuada, o si lo anterior es la solución adecuada real.

Hasta ahora, no he visto muchos problemas con respecto al cambio index.mjs (excepto cuando realmente rompí algo). Creo que esta es una solución para aquellos con configuraciones de paquete web más complejas.

Es justo, entonces consideremos esto como una solución adecuada.

@thany, ¿te gustaría documentar esto en el README.md ? ¿Y estamos bien para cerrar este tema?

Eso podría ser útil, sí. Bueno para cerrar 👍🏻

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

shiglet picture shiglet  ·  6Comentarios

danielimmke picture danielimmke  ·  4Comentarios

rscott78 picture rscott78  ·  11Comentarios

christianfredh picture christianfredh  ·  5Comentarios

mdeljavan picture mdeljavan  ·  4Comentarios