3
respostas

cannot get localhost 3000 alura express.static

Ei Pessoal , boa tarde!

como faço para incluir uma rota para raiz. Pois ao acessar o localhost 3000 está apresentando "cannot get"

3 respostas

No seu arquivo express.js, você deve incluir o seguinte código:

app.use(express.static('./app/public')); 

Dessa forma ele deixa de forma estatica a pasta public. Dentro dela todo arquivo já terá a rota automatica, por padrão quando você acessa um dominio direto ele sempre busca por index.html, então se você tiver um arquivo com este nome na sua pasta public ele já vai ser carregado direto.

Boa tarde! Obrigada pela ajuda,Danilo. Coloquei o index.html no app/public e funcionou. Mas o home.js não está sendo chamado. Vc saberia me dizer porque?

home.js
module.exports = function(app){

    app.get('/',function(req,res)){
    var connection = app.infra.connectionFactory();
        var produtosBanco = new app.infra.produtosBanco(connection);

        produtosBanco.lista(function(err, results){
        res.render('home/index',{livros:results});
    });
    connection.end();
    });

}

express.js

var express = require("express"); var load = require("express-load"); var bodyParser = require('body-parser'); var expressValidator = require('express-validator');

module.exports = function(){ var app = express(); app.use(express.static('./app/public')); app.set('view engine', 'ejs'); app.set('views','./app/views');

app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.use(expressValidator());

//req - > middlewareBodyParsers -> middlewareAutenticação ->funcao que trata requisição load('routes', {cwd:'app'}) .then ('infra') .into(app); console.log("modulo ta sendo carregado");

return app; }

index.ejs

Pode ser que esteja ocorrendo algum erro na chamada ao banco, coloque um console.log para verificar se está ocorrendo algum erro.

Outra coisa você está subindo o servidor com node ou está utilizando o nodemon? Caso seja o node reinicie o servidor depois da execução.

Verifique também se o seu home.js está dentro da pasta routes, nesta pasta é que deve ficar todos os arquivos com as rotas a serem mapeadas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software