Me cuesta entender cómo importar módulos de CommonJS en una sintaxis de ESM. Actualmente estoy tratando de trabajar con la biblioteca url-metadata . url-metadata expone una exportación de nivel superior como invocable (que en realidad no se ajusta a CommonJS, AFAIK):
const urlMetadata = require('url-metadata') urlMetadata(URL, ...)No es posible escribir:
import urlMetadata from 'urlMetadata'ya que no se define una exportación predeterminada.
En su lugar, tengo que escribir:
import * as urlMetadata from 'url-metadata'O:
import urlMetadata = require("url-metadata")Traté de leer sobre la carga del módulo en Node, pero todavía estoy un poco confundido sobre cuál es la forma correcta de hacerlo y por qué.
import urlMetadata from 'url-metadata';es azúcar sintáctico para
import { default as urlMetadata } from 'url-metadata';Cualquiera de los dos funcionará bien.
El valor asignado a module.exports en un módulo CommonJS es la exportación predeterminada.
Consulte los documentos de Node.js.