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

231
Vistas
¿No se puede usar condicionalmente la palabra clave de exportación en el servidor Node.JS cuando se intenta usar el código compartido entre el servidor y el cliente?

Tengo un archivo JS que contiene un montón de constantes y algunas funciones primitivas en un módulo llamado global-namespaces.js . Ahora estoy tratando de actualizar mi código en el lado del cliente para usar modules y la declaración de import . Por cierto, sé que el siguiente código parece extraño, pero eso se debe a que todavía estoy luchando por encontrar una solución.

En el lado del servidor, solo uso require() . Sin embargo, parece que no puedo encontrar una manera de exportar los símbolos necesarios de global-namespaces.js cuando se usa en el contexto del lado del cliente que no genera un error de sintaxis en el lado del servidor. No puedo poner el bloque/palabra clave de export en una declaración IF porque eso genera un error de sintaxis. Aquí está mi código actual:

 try { g_GlobalNamespaces = new GlobalNamespaces(); } catch(err) { console.error(`${errPrefix}Error occurred during the creation of the global GlobalNamespaces object.`); console.info(errPrefix + `err object:`); console.dir(err, {depth: null, colors: true}); } // Use this code on both client and server side. Are we on the server side? if (typeof module == 'undefined' || typeof module.exports == 'undefined') { // No. g_GlobalNamespaces is already in the client side global namespace. } else { // Yes. Export the code so it works with require(). module.exports = { g_GlobalNamespaces: g_GlobalNamespaces } } // We export it so it can be used via "import" statements. export // THIS STATEMENT GENERATES THE SYNTAX ERROR ON THE SERVER SIDE. { g_GlobalNamespaces }

Esta publicación SO no tiene respuestas:

Cómo compartir código entre el cliente y el servidor cuando se usa Node.js

Y esta publicación SO solo maneja el caso del lado del cliente y no me ayuda con el problema de compartir del lado del cliente y del servidor:

Exportación condicional en ES2015

¿Cómo puedo estructurar global-namespaces.js para poder usar el código tanto en el servidor como en el lado del cliente?

about 4 years ago · Juan Pablo Isaza
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