Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

387
Vistas
¿Cómo realizo una exportación que sea compatible con ES5 y ES6?

Estoy escribiendo una "clase" en el nodo.

 // mymodule/index.js function MyClass() {} MyClass.prototype.method1 = function() {..}

normalmente lo hago

 module.exports = MyClass

pero quiero que mi clase esté disponible para ambas sintaxis

 var MyClass = require('mymodule')

y

 import {MyClass} from 'mymodule'

¿Cuál es la forma correcta de hacerlo?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En cuanto a escribir una exportación que sea compatible con ES5 y ES6, Babel ya se encarga de eso por usted. (Como se comunica en los comentarios a su pregunta. Solo estoy aclarando para aquellos que se perdieron en el diálogo).

 module.exports = MyClass

funcionará con var MyClass = require('mymodule') e import MyClass from 'mymodule

Sin embargo, para ser claros, la sintaxis real sobre la que preguntó:

 import {MyClass} from 'mymodule'

significa algo diferente a

 import MyClass from 'mymodule'

Para este último, tendría que exportarlo como: module.exports.MyClass = MyClass , y para los módulos ES5 tendría que ser requerido como var MyClass = require('mymodule').MyClass

over 4 years ago · Santiago Trujillo Denunciar

0

Ambas formas son correctas, pero intente importar en es6 así sin los corchetes:

 import MyClass from 'mymodule'

De lo contrario, tendría que exportar su función de esta manera:

 module.exports.MyClass = MyClass

y luego importarlo así:

 import { MyClass } from 'mymodule'
over 4 years ago · Santiago Trujillo Denunciar

0

Por los comentarios, entiendo que está intentando ejecutar su código de interfaz ES6 en algunas pruebas de unidades mocha en node. Sí, no puede hacer eso hasta que el nodo admita módulos ES6. Si yo fuera usted, usaría systemjs para cargar el código para esas pruebas de mocha. Mocha admite promesas, por lo que debería ser bastante sencillo cargar cualquier archivo antes de las pruebas.

Escribir sintaxis para ambos solo creará más problemas para usted.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda