Después de actualizar a Webpack 5, ahora encuentro este error:
./node-modules/@fizz/my-library/components/MyComponent/MyComponent.js:97:19-39 - Error: no se debe importar la exportación denominada 'foo' (importada como 'barra') del módulo de exportación predeterminado (solo la exportación predeterminada estará disponible pronto)
El problema ocurre en una biblioteca importada que no puedo modificar. La importación problemática es esta:
import { foo as bar } from '../ParentComponent.css.json';ParentComponent.css.json tiene este aspecto:
{ "foo": { "a": 1, "b": 2, "c": 3 }, ... }Tengo lo siguiente en tsconfig.json:
"compilerOptions": { "module": "commonjs", "moduleResolution": 'node", "target": "es2015", "allowSyntheticDefaultImports": true, "resolveJsonModule": true, "esModuleInterop": true, ... }¿Alguna idea sobre cómo puedo resolver este error? He intentado eliminar node_modules y package-lock.json pero no he tenido éxito.
El problema al que se enfrenta está relacionado con la forma en que se construyen los módulos en JavaScript.
Puede exportar un módulo predeterminado desde un archivo o uno con nombre. La diferencia se ve así:
export default myFunction vs export myFunction
La conclusión obvia es que un archivo en particular no puede contener más de una exportación predeterminada.
Entonces, para importar este archivo, en realidad puede nombrarlo de la forma que desee, ya que no importa cómo lo llame, JavaScript tomará el objeto exportado de forma predeterminada y hará referencia a él correctamente.