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

108
Visualizações
Angular2 y expreso

Estoy usando la aplicación Angular2 con Express.

Tengo esta url /v2/tickets?filterId=321 . Al volver a cargar la página, la URL se cambia a /v2/tickets/?filterId=321 . Esto rompe mi enrutamiento Angular2.

En las llamadas de red de Chrome, veo que se lanza 301.

Esta es la configuración de mi servidor simple:

 app.use('/v2', express.static(path.join(__dirname + '/dist'))); app.use('/v2/*', express.static(path.join(__dirname + '/dist')));

¿Alguna idea? ¿Por qué ocurre esta redirección y cómo puedo evitarla?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El redict ocurre porque el redict es el predeterminado en serve-static . Puede deshabilitarlo con express.static('dir', { redirect: false }) pero luego no se pudo encontrar /v2/tickets y devuelve 404. Por ejemplo, express-static tiene el mismo comportamiento.

¿Tiene un conjunto base (como <base href="/v2"> ) y devuelve el index.html para todo lo que no es su ruta api como

 app.get('/v2/*', (req, res) => { res.sendFile(path.join(__dirname, 'dist/index.html')) })

porque no sé cómo podría funcionar esto con el código que ha publicado.

Aparte de eso, el redict no sería un problema si no usara parámetros de URL, porque angular eliminaría la barra diagonal automáticamente. Si /v2/tickets/321 también funcionara, esta sería la solución más fácil con una URL más atractiva.
Si necesita el parámetro url y quiere usar express y serve-static, tal vez sería más fácil agregar una barra inclinada final a su ruta en el enrutamiento.

Personalmente, prefiero tener un nginx para los archivos estáticos, porque es más rápido, tiene mejor almacenamiento en caché, más opciones... y reenvía todas las solicitudes de API a un nodo como

 location /api { proxy_pass http://api; } location / { try_files $uri /index.html; }
about 4 years ago · Santiago Trujillo 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