• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

416
Vistas
¿Cómo configurar Relay.JS en Vite?

Estoy tratando de migrar mi proyecto React de CRA a Vite, este es mi vite.config.js :

 import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import envCompatible from 'vite-plugin-env-compatible' import relay from "vite-plugin-relay" import macrosPlugin from "vite-plugin-babel-macros" import path from 'path'; import fs from 'fs/promises'; export default defineConfig({ resolve: { alias: { '~': path.resolve(__dirname, 'src'), '@material-ui/core': path.resolve(__dirname, 'node_modules/@material-ui/core') } }, esbuild: { loader: "tsx", include: /src\/.*\.[tj]sx?$/, exclude: [], }, optimizeDeps: { esbuildOptions: { plugins: [ { name: "load-js-files-as-jsx", setup(build) { build.onLoad({ filter: /src\/.*\.js$/ }, async (args) => ({ loader: "tsx", contents: await fs.readFile(args.path, "utf8"), })); }, }, ], }, }, define: { global: {}, }, plugins: [ envCompatible(), react(), relay, //macrosPlugin(), ], })

Mis archivos de consulta de GraphQL son así:

 import graphql from 'babel-plugin-relay/macro' const getQuery = () => graphql` query UserQuery($id: ID!) { user(id: $id) { id fullName } } ` export default getQuery

Cuando traté de ejecutar el proyecto en modo de desarrollo (comando $ vite ), recibí este error:

Preset /* su preset */ requiere que se establezca un nombre de archivo cuando babel se llama directamente mensaje de error

Así que hice una búsqueda y reemplacé vite-plugin-relay por vite-plugin-babel-macros así:

 // others import import relay from "vite-plugin-relay" import macrosPlugin from "vite-plugin-babel-macros" export default defineConfig({ // configs like bellow plugins: [ envCompatible(), react(), //relay, macrosPlugin(), ], })

Entonces comencé a obtener un nuevo error:

ReferenceError: require no está definido mensaje de error

¿Cómo puedo configurar Relay para que funcione en Vite.JS?

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede que sea un poco tarde, pero el problema se solucionó en Relay@13 y puede encontrar algunas soluciones en este hilo para versiones anteriores de Relay:

https://github.com/facebook/relay/issues/3354

También puede intentar agregar la opción eagerEsModules: true a la configuración del complemento de babel de retransmisión.

almost 3 years ago · Juan Pablo Isaza 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda