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