jueves, 10 de mayo de 2018

Express y Mongodb | LOGUIN | FAST


video; youtube los 4 videos


Video 1 de 4


https://www.youtube.com/playlist?list=PLL0TiOXBeDaiUPzcNhelWK-jtQUy8d3-s

D:\Goyo\programacion\node.js\login-node-master

Ejecutamos con:  npm run nodemon

1) npm init --yes   crea el PACKAGE.JSON

INSTALAR DEPENDENCIAS

2) npm install express express-session cokie-parser connect-flash ejs bcrypt-nodejs mongoose  body-parser morgan passport  passport-local
express-session  -> Manejar las sesiones
cokie-parser     -> Manejar las cokie (guardar datos dentro navegador)
connect-flash    -> Mandar mensaje para mostrarlo por pantalla
bcrypt-nodejs    -> Algoritmo para cifrar los datos
morgan           ->  mostrar la informacion que llega por http por consola
passport         -> autenticar los modulos dentro del servidor (facebook twiter)
passport-local   -> autenticar de forma local
body-parser      -> Entender los datos en formato JSON (datos q llegan del navegador)
ejs              -> Manejador o motor de plantilla

3) Para NO tener que reiniciar el servidor a cada rato (se actualice automaticamente)  <DEPENDENCIA DE DESARROLLO>
npm install nodemon -D

modificamos package.json  el script y colocamos
"start": "node src/server.js",     (este es mi index.js pero se llamo server.js)
    "nodemon"  : "nodemon src/server.js"

    Y ejecutamos con npm start  o npm run nodemon (en la linea de comando)




SERVER.JS

const express = require('express');
const app = express();
const path = require('path');
const mongoose = require('mongoose');
const passport = require('passport');
const flash = require('connect-flash');
const morgan = require('morgan');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const session = require('express-session');
const { url } = require('./config/database.js'); 
mongoose.Promise = global.Promise
mongoose.connect(url, {
useMongoClient: true
})
.then(()=> console.log('La BASE DE DATOS esta conectada'))
.catch(err => console.log(err)); 
require('./config/passport')(passport);
// settings
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs'); 
// middlewares
app.use(morgan('dev'));
app.use(cookieParser());
app.use(bodyParser.urlencoded({extended: false}));  //false-> es solo para procesar datos 
// required for passport
app.use(session({
secret: 'faztwebtutorialexample',
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
// routes
require('./app/routes.js')(app, passport);
// static files
app.use(express.static(path.join(__dirname, 'public')));
// Iniciar el Servidor
app.listen(app.get('port'), () => {
console.log('Servidor en el puerto ', app.get('port'));
});

No hay comentarios.:

Publicar un comentario