Tengo un archivo de constantes con:
export const VAR1 = 'VAR1'; export const VAR2 = 'VAR2'; export const VAR3 = 'VAR3'; export const VAR4 = 'VAR4'; export const VAR5 = 'VAR5'; export const VAR6 = 'VAR6'; export const VAR7 = 'VAR7'; export const VAR8 = 'VAR8'; export const VAR9 = 'VAR9'; export const VAR10 = 'VAR10';Algunas de las constantes se pueden usar por separado y algunas las uso como un conjunto específico en varios archivos, como:
import {VAR1, VAR2, VAR3, VAR8, VAR9, VAR10} from './constants'¿Puedo tener varias exportaciones en un conjunto, de modo que puedan importarse fácilmente en varios archivos, pero llamarse con los mismos nombres? Por ejemplo:
export set1 = [VAR1, VAR2, VAR3, VAR8, VAR9, VAR10];Y luego en el archivo:
import set1 from './constants'; if(input === VAR1) doSomething()Por lo tanto, quiero poder importar varias exportaciones con nombre de una sola vez, pero seguir manteniendo la capacidad de llamarlas simplemente por su nombre.
Puede hacerlo, aunque su exportación y uso son incorrectos, lo sería (pero siga leyendo):
export const VAR1 = "VAR1"; export const VAR2 = "VAR2"; // ... export const set1 = [VAR1, VAR2, /*...*/]; // or probably more usefully, as an object: export const set1 = {VAR1, VAR2, /*...*/};Entonces la importación y el uso serían:
import { set1 } from "./constants"; // If you use an array: if (input === set1[0]) doSomething(); // Or if you use an object: if (input === set1.VAR1) doSomething(); Tenga en cuenta que, en ambos casos, no existe un vínculo continuo entre el VAR1 exportado (etc.) y el set1 exportado. Pero dado que VAR1 y demás son constantes, eso no importa, sus valores nunca cambian. ( Importaría si no fueran constantes, porque el conjunto solo tendría su valor a partir del momento en que ocurrió la exportación, no su valor actualizado más adelante).
O usando una exportación predeterminada (no me gustan, pero a algunas personas les gusta):
export const VAR1 = "VAR1"; export const VAR2 = "VAR2"; // ... export default [VAR1, VAR2, /*...*/]; // or probably more usefully, as an object: export default {VAR1, VAR2, /*...*/};Entonces la importación y el uso serían:
import set1 from "./constants"; // If you use an array: if (input === set1[0]) doSomething(); // Or if you use an object: if (input === set1.VAR1) doSomething();O puede dejar las exportaciones en paz y hacer una importación del espacio de nombres del módulo:
import * as set1 from "./constants"; if (input === set1.VAR1) doSomething();