Me gustaría importar funciones específicas de otro módulo. Pero me enfrenté a una colisión de nombres: tengo nombres de funciones similares en mi archivo de importación. Me gustaría hacer algo como esto:
// exporterFile.js export { set, get, has, foo, bar, } // implementation code for set, get, etc. // importerFile.js import {get, set} as exporter from "exporterFile.js" function get() { // some code and call set from exporter exporter.set(something) } Sé que podría import * as exporter from "exporterFile.js" , pero carece de legibilidad y no muestra qué métodos (funciones) estoy usando del archivo del exportador.
Además, sé que podría import {get as exporterGet, set as exporterSet} from "exporterFile.js" , pero no es tan legible.
¿Existe una forma elegante, clara y legible de importar funciones seleccionadas de un módulo sin colisión de nombres? Si no, cuál es la mejor práctica, enfoque y sugerencia: la legibilidad es muy importante, el movimiento de árboles también es una consideración.
No hay alternativas a las dos formas que ya mencionaste. La legibilidad es subjetiva, pero tanto exporterGet() como exporter.get() son buenas opciones que son comunes. Si desea enumerar explícitamente todas las funciones utilizadas en la declaración de import , deberá proporcionarles alias individuales. Las herramientas para sacudir árboles podrán manejar ambos formatos.