javascript: difundir un objeto antes de exportarlo

CorePress2024-01-25  152

Tengo un objeto que se genera basándose en otro objeto. El tipo de objeto es completamente conocido. Se ve así.

const mediaHooks = {
   sm: () => {}, //some func
   md: () => {}, //some func
};

Ahora, me gustaría 'difundir' ese objeto antes de exportarlo, para que sus propiedades cuenten como una exportación de nivel superior y pueda importarlas como:

import {sm} from './media';

¿Es posible?

1

@Terry exportar de forma predeterminada un objeto no es lo mismo que exportar con nombre todas sus propiedades por separado; consulte, por ejemplo. stackoverflow.com/q/41283733/3001761

- jonrsharpe

28/03/2021 a las 16:49



------------------------------------

No, esto no es técnicamente posible.

En su lugar, considere cambiar su enfoque utilizando exportaciones con nombre e importaciones de espacios de nombres

// media-hooks.js
export const sm = () => {}; //some func
export const md = () => {}; //some func

// app.js
import * as mediaHooks from './media-hooks' ;
import {sm} from './media-hooks';



------------------------------------

Puedes usar asignaciones de exportación para una exportación común tipo Js/AMD para obtener el comportamiento deseado. Pero esto elimina la posibilidad de exportar cualquier otra cosa en ese archivo:

export = mediaHooks;
// can be imported now as import {sm} from './media'; in another file

Todo lo demás que desee exportar desde ese archivo también debe estar contenido en el medio.Objeto de ganchos. Si eso no es factible para usted, no hay forma de distribuir un objeto en una exportación. En ese caso, tal vez algo como esto sería una buena alternativa:

export const {sm, md} = mediaHooks;

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare