Je suis actuellement en train de passer mon application existante de create-react-app à next.js, tout semble fonctionner correctement sauf mon point de terminaison d'API fonctionnant sur une autre application node sur le port 4000, auquel je ne peux pas accéder depuis mon application next.js. J'ai suivi les exemples du dépôt mais je n'arrive pas à le faire fonctionner, En production j'utilise nginx comme proxy inversé sans problème, mais je suis en mode développement. Pour configurer Apollo avec Redux, j'ai suivi cet exemple : with-apollo-and-redux et pour le proxy j'ai utilisé cet exemple with-custom-reverse-proxy
Je sais que je fais quelque chose de mal, je n'arrive juste pas à le comprendre pour le moment
dans initApollo.js
...
function create() {
return new ApolloClient({
ssrMode: !process.browser,
networkInterface: createNetworkInterface({
uri: "/api"
})
});
}
...
dans server.js
...
const devProxy = {
"/api/": {
target: "http://localhost:4000/api/",
changeOrigin: true
}
};
app
.prepare()
.then(() => {
const server = express();
if (dev && devProxy) {
const proxyMiddleware = require('http-proxy-middleware')
Object.keys(devProxy).forEach(function (context) {
server.use(proxyMiddleware(context, devProxy[context]))
})
}
server.all("*", (req, res) => handle(req, res));
server.listen(3000, err => {
if (err) throw err;
console.log("> Prêt sur http://localhost:3000");
});
})
.catch(ex => {
console.error(ex.stack);
process.exit(1);
});