Tengo una configuración cliente-servidor, en la que el cliente (create-react-app) se ejecuta en localhost: 3000 y el servidor es un servidor express que se basa en un nodo y estoy intentando crear una configuración de resolución de esquemas graphql.
Puedo importar archivos .graphql en el servidor, sin embargo, en el lado del cliente, estoy usando esta configuración de graphql-tools .
Cuando intento construir los solucionadores de esquemas en la interfaz, estoy importando
import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader'; import { addResolversToSchema } from '@graphql-tools/schema'; import { loadSchema } from '@graphql-tools/load';... lo que provoca este error: ./node_modules/@graphql-tools/graphql-file-loader/index.mjs No se puede importar la exportación denominada 'AggregateError' desde un módulo que no es EcmaScript (solo está disponible la exportación predeterminada)
Después de investigar, descubrí que este es un problema relacionado con el paquete web.
¿Hay alguna solución a este problema?
Cambié manualmente el nombre de index.mjs a index.mjs_old en todas las subcarpetas de @graphql-tools (fusión, simulación y esquema) y funcionó.
la solución es asegurarse de que tiene un archivo webpack.config.js en la raíz del directorio de su proyecto que se parece a esto:
const config = { mode: 'production', // "production" | "development" | "none" resolve: { extensions: ['*', '.mjs', '.js', '.json'] }, module: { rules: [ { test: /\.mjs$/, include: /node_modules/, type: 'javascript/auto' } ] } } module.exports = configtambién puedes echar un vistazo https://github.com/vanruesc/postprocessing
Aquí hay otro ejemplo para la biblioteca glahql
module.exports = { chainWebpack: config => { // ...other chains config.module // fixes https://github.com/graphql/graphql-js/issues/1272 .rule('mjs$') .test(/\.mjs$/) .include .add(/node_modules/) .end() .type('javascript/auto'); }, configureWebpack: { resolve: { // .mjs needed for https://github.com/graphql/graphql-js/issues/1272 extensions: ['*', '.mjs', '.js', '.vue', '.json'] } } }prueba este, espero que te ayude
mkdir webpack-test cd webpack-test npm init -y npm install --save graphql webpack webpack-cli ./node_modules/.bin/webpack-cli index.js