Ahora, estoy en http://localhost:3000/ , pero en prod estaré en una URL diferente, por ejemplo, http://example.com/ , ¿cómo puedo obtener la URL completa del navegador en getServerSideProps? Tengo que obtener http://localhost:3000/ o http://example.com/ , si la cadena no contiene el puerto, estará bien
Y en la respuesta adicional que usas en este mi caso:
export const getServerSideProps = async ( context: GetServerSidePropsContext ) => { const { req } = context; let url = req.headers.referer; let arr = url.split('/'); url = `${arr[0]}//${arr[2]}`;Esta URL te da, por ejemplo, http://localhost:3000 ¡disfrútalo!
'next/router' también proporciona un par de métodos que puede usar. Por ejemplo:
import { useRouter } from 'next/router'; const RouterObject = () => { const { asPath, pathname, req, query, res } = useRouter(); console.log(asPath); console.log(pathname); console.log('host: ', req.headers.host); }Si tiene el host, puede verificar si contiene localhost. Entonces sabes que estás en tu entorno local.