Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

476
Visualizações
Cargue imágenes de fondo css desde un directorio local fuera de la raíz de la aplicación Next JS

Alojo una aplicación next.js dentro de la estructura de archivos de un sitio web principal, quiero que CSS dentro de la aplicación use imágenes ubicadas fuera de la estructura de archivos de las aplicaciones pero dentro de la estructura de archivos de los sitios web principales.

Ejemplo de estructura de archivo:

 |- /nextjs_app/styles/global.css |- /media/background.jpg

global.css:

 BODY { background-image: url(/media/background.jpg); }

Cuando alojo la aplicación de forma estática, esto funciona; sin embargo, cuando ejecuto next.js localmente, la aplicación no reconoce la ruta de la imagen y devuelve un 404 no encontrado:

 GET http://localhost:3000/media/background.jpg 404 (Not Found)

Los archivos fuera de la estructura de la aplicación no parecen ser accesibles en el puerto localhost 3000 (donde se ejecuta el siguiente js)

También ejecuto MAMP en el puerto localhost 80, si cambio la ruta del archivo en global.css a una URL absoluta que apunta a este puerto, todo funciona, así:

 BODY { background-image: url(http://localhost:80/media/background.jpg); }

Sin embargo, cuando construyo una copia estática de la aplicación, tengo que eliminar manualmente la parte 'http://localhost:80' de la ruta para cada imagen dentro de global.css.

Me he metido con los redireccionamientos dentro de next.config.js, pero los redireccionamientos no parecen aplicarse a las rutas de imágenes css, solo a las páginas dentro de la aplicación. ¿O lo estoy haciendo mal? Aquí hay una copia de next.config.js con redireccionamientos para cualquier cosa que apunte a /media/:

 module.exports = { async redirects() { return [ { source: '/media/:path*', destination: 'http://localhost:80/media/:path*', permanent: true, }, ] }, }

Podría alojar las imágenes dentro de la siguiente carpeta js /public/, sin embargo, quiero evitar esto ya que el sitio web principal requiere que estas imágenes estén ubicadas fuera de la aplicación.

He buscado en la web respuestas a esto sin suerte, si alguien puede ayudar, se lo agradecería mucho :-)

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¿Qué tal hacer un buen enlace simbólico en la carpeta pública de su aplicación NextJS?

En Windows puedes crear el enlace con algo como esto:

 mklink /DC:\Users\David\nextjs_app\public\media C:\Users\David\media

Debe ejecutar el símbolo del sistema como administrador para que esto funcione.

Si tiene cats.png en su carpeta de medios, puede acceder a él de esta manera cuando ejecute el servidor de desarrollo:

 background: url('/media/cats.png');
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda