aquí quiero hacer un método de publicación en la API, pero cuando llamo a la función, se publica en la ruta incorrecta de la API
aquí está mi guión para la publicación
//Creating Order const createOrder = async (data) => { try { const res = await axios.post( `${process.env.API_ROOT}/api/orders` || `${process.env.LOCAL_URL}/api/orders`, data ); if (res.status === 201) { router.push(`/api/orders/${res.data._id}`); dispatch(reset()); } } catch (err) { console.log(err); } }; Llamo a esa función cuando apruebo desde Paypal y uso el botón de pedido, pero cuando presiono el botón, la ruta de la URL API cambia a algo ${process.env.API_ROOT}/undefined/api/orders o ${process.env.LOCAL_URL}/undefined/api/orders ¿Qué causa este problema?
pero cuando estoy usando algo como si funcionara
//Creating Order const createOrder = async (data) => { try { const res = await axios.post(`/api/orders`,data); <===== its working if (res.status === 201) { router.push(`/api/orders/${res.data._id}`); dispatch(reset()); } } catch (err) { console.log(err); } };Esa es la parte frontal del código y su process.env.API_ROOT se resuelve como indefinido. Sin embargo, hay una manera de usar las variables process.env en el código de la interfaz, solo necesita prefijarlas con NEXT_PUBLIC de esta manera:
process.env.NEXT_PUBLIC_LOCAL_URL process.env.NEXT_PUBLIC_API_ROOTMás info en la documentación oficial