No puedo descifrar cómo reaccionan el enrutador y la ruta expresa trabajando juntos.
tengo esto
app.get('*', function(req, res) { res.sendFile(path.resolve(__dirname) + '/server/static/index.html'); }); // routes const apiRoutes = require('./server/routes/api'); app.use('/api', apiRoutes);El problema es que mi API no puede usar GET porque redirigirá a index.html. Si elimino la ruta comodín, entonces el enrutador de reacción no podría funcionar correctamente.
Su app.get('*') coincidirá con cualquier solicitud entrante. Puede solucionar su problema cambiando el orden de las declaraciones:
// routes const apiRoutes = require('./server/routes/api'); app.use('/api', apiRoutes); app.get('*', function(req, res) { res.sendFile(path.resolve(__dirname) + '/server/static/index.html'); }); De esta manera, cualquier solicitud cuya ruta comience con /api será manejada por su enrutador apiRoutes , todas las demás serán manejadas por el asterisco.