Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com o EXPRESS-VALIDATOR

Olá,

Tanto o app casadocodigo que estou digitando pra acompanhar o curso quanto o próprio arquivo fornecido na última atividade da Aula 05 estão com problemas referentes à dependência express-validator.

Descompactando o arquivo fornecido:

Primeiramente, tive que rodar

 npm install express-validator --save

para atualizar o package.json, que agora está assim.

{
  "name": "casadocodigo",
  "version": "1.0.0",
  "description": "site da casa do codigo",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "alberto",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.17.1",
    "ejs": "^2.5.6",
    "express": "^4.15.2",
    "express-load": "^1.1.15",
    "express-validator": "^4.2.1",
    "mysql": "^2.13.0"
  }
}

quando tento rodar a aplicação, recebo o seguinte erro :

jmc@laptop /mnt/cursos/alura/NodeJS-1/casadocodigo $ node app

/mnt/cursos/alura/NodeJS-1/casadocodigo/node_modules/express-validator/lib/express_validator.js:75 chain[name] = (...options) => { ^^^ (obs.: o ^^^ fica embaixo do ...options)

SyntaxError: Unexpected token ... at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object. (/mnt/cursos/alura/NodeJS-1/casadocodigo/node_modules/express-validator/index.js:1:80) at Module._compile (module.js:410:26) at Object.Module._extensions..js (module.js:417:10)

Se eu apenas comentar as linhas do arquivo config/express.js, que fazem referência ao validador:

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.set('view engine', 'ejs');
    app.set('views', './app/views');

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

    load('routes', {cwd: 'app'})
        .then('infra')
        .into(app);

    return app;
}

e rodar a aplicação:

jmc@laptop /mnt/cursos/alura/NodeJS-1/casadocodigo $ node app

servidor rodando

o erro não acontece na hora de subir o servidor.

Portanto, existe mesmo algum problema, pode ser conflito de versão, ou alguma outra coisa. Lembrando que isso ocorre com o arquivo fornecido na última atividade da aula 05. Será que alguém resolve essa?

Obrigado, Julian

1 resposta
solução!

Acabei de ver o meu problema.

Estou com o nodejs muito velho.

Quando executo

 npm install express-validator

recebo essa mensagem

WARN engine express-validator@4.2.1: wanted: {"node":">= 6.0.0"} (current: {"node":"4.2.6","npm":"3.5.2"})

Vou resolver isso. Alarme falso.