Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Falha no redirecionamento das rotas gerais

Boa tarde amigos. Ao aplicar o backend Mean em meu projeto.. conforme ensinado no curso, porém utilizando o Angular 2. Me deparei com um problema de rota. Sempre que tento acessar uma rota digitando diretamente pelo campo de url retorna o erro Cannot Get [....] me permitindo apenas acessar a página index e de lá fazer a navegação através dos routerLinks que funciona perfeitamente.

Segue em anexo imagens do erro.

Acessando pela Barra de Endereços

Acessando pelo routerLinks do Angular 2

O backend é o mesmo usado no curso MEAN, porém meu único arquivo de rota é o clients.js

clients.js

module.exports = function(app){

    var api = app.api.client;
    app.route('/v1/clients/')
        .get(api.lista)
        .post(api.adiciona);

    app.route('/v1/clients/:id')
        .get(api.buscaPorId)
        .delete(api.removePorId)
        .put(api.atualiza);
}

sinto a falta de algum código que capture as demais urls e jogue para que minha distribuição angular processe. Como faço isso?

config/express.js

var express = require('express');
var app = express();

var consign = require('consign');
var bodyParser = require('body-parser');
// configurações do express


app.use(express.static("./dist/")); // Libera para o navegador as páginas estáticas

app.use(bodyParser.json());

consign({cwd:'app'})
    .include('models')
    .then('api')
    .then('routes')
    .into(app); 

module.exports = app;
3 respostas

Se eu entendi corretamente o que você esta se referindo, cria uma roda com * como última roda registrada e devolve o index.html para o usuário.

solução!

funcionou, obrigado, flavio.

Agora aparece no meu console isso aqui:

DevTools failed to parse SourceMap: http://localhost:3030/clients/hammer.min.js.map DevTools failed to parse SourceMap: http://localhost:3030/clients/showdown.js.map

é relacionado a isso ?

Não conheço seu projeto, não posso afirmar. Mas se começou a rolar isso com a sua modificação, é provável que seja. A boa notícia é que o source map não vai fazer falta para sua aplicação em produção.

Talvez você tenha ativado a nova rota antes do middleware static.