10
respostas

Mensagem de erro no node

Bom dia. Estou tenso essa mensagem de erro na aula 5 do curso do node.js.

Já verifiquei esse erro no arquivo, mas esse arquivo não foi alterado, apenas instalei.

Alguém sabe me explicar que erro é esse e como resolvo ele?

C:\Users\Seven\casadocodigo\node_modules\finalhandler\index.js:92
    if (!err && res._header) {
                   ^

TypeError: Cannot read property '_header' of undefined
    at C:\Users\Seven\casadocodigo\node_modules\finalhandler\index.js:92:20
    at EventEmitter.handle (C:\Users\Seven\casadocodigo\node_modules\express\lib
\application.js:170:5)
    at app (C:\Users\Seven\casadocodigo\node_modules\express\lib\express.js:38:9
)
    at module.exports (C:\Users\Seven\casadocodigo\config\express.js:7:12)
    at Object.<anonymous> (C:\Users\Seven\casadocodigo\app.js:1:100)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3
[nodemon] app crashed - waiting for file changes before starting...
10 respostas

To achando que teve problema de versão com o node instalado... tenta trocar a versão para uma mais antiga?

Vinha versão é v6.10.1.

Esse é o código do index.js que está na pasta finalhandler dentro do node_modules.

// ignore 404 on in-flight response
    if (!err && res._header) {
      debug('cannot 404 after headers sent')
      return
    }

Opa, a versão que o curso foi grava ainda era a 4, como ele ainda não está atualizado, rola instalar essa? Ou se quiser, tenta pegar o código do curso disponibilizado nos exercícios e testar, só para a gente verificar.

Baixei o arquivo da 5 e agora o erro é esse.

C:\Users\Seven\casadocodigo>node app.js                        module.js:471                                                      throw err;                                                     ^                                                                                                                         Error: Cannot find module 'C:\Users\Seven\casadocodigo\app.js'     at Function.Module._resolveFilename (module.js:469:15)         at Function.Module._load (module.js:417:25)                    at Module.runMain (module.js:604:10)                           at run (bootstrap_node.js:393:7)                               at startup (bootstrap_node.js:150:9)                           at bootstrap_node.js:508:3

O erro anterior eu consegui resolver, mas agora estou tendo o erro com o 'length'.

TypeError: C:\Users\Seven\casadocodigo\app\views\produtos\lista.ejs:11
    9|             </tr>
    10|             <tr>
 >> 11|                 <% for(var i=0; i<lista.length; i++) {%>
    12|                     <tr>
    13|                         <td><%= lista[i].id %></td>
    14|                         <td><%= lista[i].titulo %></td>

Cannot read property 'length' of undefined
    at eval (eval at compile (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:524:12), <anonymous>:11:28)
    at returnedFn (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:555:17)
    at tryHandleCache (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:203:34)
    at View.exports.renderFile [as engine] (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:412:10)
    at View.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\view.js:128:8)
    at tryRender (C:\Users\Seven\casadocodigo\node_modules\express\lib\application.js:640:10)
    at EventEmitter.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\response.js:966:7)
    at Object.html (C:\Users\Seven\casadocodigo\app\routes\produtos.js:10:25)
    at ServerResponse.res.format (C:\Users\Seven\casadocodigo\node_modules\express\lib\response.js:634:13)
    at Query._callback (C:\Users\Seven\casadocodigo\app\routes\produtos.js:8:17)
    at Query.Sequence.end (C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\sequences\Sequence.js:86:24)
    at C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\Protocol.js:399:18
    at Array.forEach (native)
    at C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\Protocol.js:398:13
    at _combinedTickCallback (internal/process/next_tick.js:73:7)

Fiz a instalação do node mais antigo, o 4, e baixei o arquivo das aulas. A form está aparecendo corretamente, mas no /produtos o erro persiste.

Esse é o erro:

TypeError: C:\Users\Seven\casadocodigo\app\views\produtos\lista.ejs:11
    9|             </tr>
    10|             <tr>
 >> 11|                 <% for(var i=0; i<lista.length; i++) {%>
    12|                     <tr>
    13|                         <td><%= lista[i].id %></td>
    14|                         <td><%= lista[i].titulo %></td>

Cannot read property 'length' of undefined
    at eval (eval at <anonymous> (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:524:12), <anonymous>:11:28)
    at returnedFn (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:555:17)
    at tryHandleCache (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:203:34)
    at View.exports.renderFile [as engine] (C:\Users\Seven\casadocodigo\node_modules\ejs\lib\ejs.js:412:10)
    at View.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\view.js:128:8)
    at tryRender (C:\Users\Seven\casadocodigo\node_modules\express\lib\application.js:640:10)
    at EventEmitter.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (C:\Users\Seven\casadocodigo\node_modules\express\lib\response.js:966:7)
    at Object.res.format.html (C:\Users\Seven\casadocodigo\app\routes\produtos.js:10:25)
    at ServerResponse.res.format (C:\Users\Seven\casadocodigo\node_modules\express\lib\response.js:634:13)
    at Query._callback (C:\Users\Seven\casadocodigo\app\routes\produtos.js:8:17)
    at Query.Sequence.end (C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\sequences\Sequence.js:86:24)
    at C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\Protocol.js:399:18
    at Array.forEach (native)
    at C:\Users\Seven\casadocodigo\node_modules\mysql\lib\protocol\Protocol.js:398:13
    at doNTCallback0 (node.js:407:9)

Opa, ta rolando algum problema com a lista. Confere na rota, se está chegando algum erro... Provavelmente tem algum problema na query e não está sendo tratado.

Esse erro está persistindo até quando começo um projeto do zero. Fico travado nesta parte por causa desde erro.

ReferenceError: C:\Users\Seven\cadastra-membros\views\membros\cadastrados.ejs:10
    8|             </tr>

    9|             <tr>

 >> 10|                 <% for(var i=0; i<cadastrados.length; i++) {%>

    11|                     <tr>

    12|                         <td><%= cadastrados[i].mitrícula %></td>

    13|                         <td><%= cadastrados[i].nome %></td>


cadastrados is not defined
    at eval (eval at <anonymous> (C:\Users\Seven\cadastra-membros\node_modules\ejs\lib\ejs.js:524:12), <anonymous>:11:23)
    at returnedFn (C:\Users\Seven\cadastra-membros\node_modules\ejs\lib\ejs.js:555:17)
    at tryHandleCache (C:\Users\Seven\cadastra-membros\node_modules\ejs\lib\ejs.js:203:34)
    at View.exports.renderFile [as engine] (C:\Users\Seven\cadastra-membros\node_modules\ejs\lib\ejs.js:412:10)
    at View.render (C:\Users\Seven\cadastra-membros\node_modules\express\lib\view.js:128:8)
    at tryRender (C:\Users\Seven\cadastra-membros\node_modules\express\lib\application.js:640:10)
    at EventEmitter.render (C:\Users\Seven\cadastra-membros\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (C:\Users\Seven\cadastra-membros\node_modules\express\lib\response.js:966:7)
    at C:\Users\Seven\cadastra-membros\app.js:7:6
    at Layer.handle [as handle_request] (C:\Users\Seven\cadastra-membros\node_modules\express\lib\router\layer.js:95:5)

Este erro aconteceu comigo quando fiz a pesquisa de jquery e coloquei o nome da variável diferente.

Veja se no ProdutosDAO.lista esta {cadastrados: resultados}