miércoles, 14 de noviembre de 2018

CREAR BACKEND NODE.JS

INSTALAR MONGODB
1. https://www.mongodb.com/download-center/community
NEXT NEXT NEXT
seguir installation instructions:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/?_ga=2.38143840.2108327929.1542221392-61917411.1541862555
Crear una carpeta en C.


2. Crear una carpeta para el backend
ir a la consola cmd y pegar la ruta de la carpeta.
dentro de la ruta de la carpeta: escribir: npm init: y enter a todo.

con eso creamos el package.json.

3. npm express  https://www.npmjs.com/package/express

escribir en cmd en la ruta de la carpeta:

npm i express --save , save para agregarla a nuestras dependencias.

4. crear un nuevo folder en la raiz del proyecto llamado server
5. crear un archivo dentro del folder server q se llame server.js
6. En el archivo de server.js colocar el siguiente codigo tomado de express la pagina de arriba
var express = require('express')
var app = express()
app.get('/', function (req, res) {
  res.send('Hello World')
})
app.listen(3000)
configurarlo para q qde:

const express = require('express')
const app = express()
app.get('/', function(req, res) {
res.send('Hello World')
})
app.listen(3000, () => {
console.log("Escuchando el puerto ", 3000);
})
7.probarlo usando el comando:
node server/server

8.ahora probar la respuesta desde postman pegar la siguiente ruta en get
http://localhost:3000

la rta debe ser hello world

9. instalar el nodemon https://nodemon.io/ ejecutando el cmd como administrador por la -g npm install -g nodemon
10. escribir en la consola cmd : nodemon server/server

cambiar por json:
const express = require('express')
const app = express()

app.get('/', function(req, res) {
res.json('Hello World')
})

app.listen(3000, () => {
console.log("Escuchando el puerto ", 3000);
})

agregar los métodos:



const express = require('express')
const app = express()

app.get('/usuario', function(req, res) {
res.json('get usuario')
})
//crear nuevos registros
app.post('/usuario', function(req, res) {
res.json('post usuario')
})
//actualizar
app.put('/usuario/:id', function(req, res) {

let id = req.params.id;

res.json({
id
})
})
app.delete('/usuario', function(req, res) {
res.json('delete usuario')
})

app.listen(3000, () => {
console.log("Escuchando el puerto ", 3000);
})


11. buscar bodyparser:

https://www.npmjs.com/package/body-parser
este se utiliza para en el post recibir datos desde el body www...
 instalar en cmd:
npm i body-parser --save

declarar el bodyparser debajo del express:

const bodyParser = require('body-parser')

//y usar estas lineas ver en la pagina:
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

y asi se usaria:

const express = require('express')
const app = express()
const bodyParser = require('body-parser')
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())



app.get('/usuario', function(req, res) {
res.json('get usuario')
})
//crear nuevos registros
app.post('/usuario', function(req, res) {

let body = req.body;

if (body.nombre === undefined) {

res.status(400).json({
ok: false,
mensaje: 'El nombre es necesario'
});

} else {

res.json({
body: body
})
}

})
//actualizar
app.put('/usuario/:id', function(req, res) {

let id = req.params.id;

res.json({
id
})
})
app.delete('/usuario', function(req, res) {
res.json('delete usuario')
})




app.listen(3000, () => {
console.log("Escuchando el puerto ", 3000);
})

12. ahora vamos a hacer el archivo de config q sirve para desplegar la aplicación en Heroku

12.1 Crear una carpeta dentro de la carpeta server que se llame config
12.2 Crear un archivo que se llame config.js dentro de la carpeta config

el archivo debe quedar asi:
//=======================
// Puerto
//=======================
process.env.PORT = process.env.PORT || 3000;



Ahora crearemos lo que es el archivo para excluir modulos de node:

creamos un archivo en la raiz del proyecto con nombre .gitignore y escribimos en el archivo:
node_modules/


Para Heroku es importante q creemos el start..en package.json agregar:


{
"name": " nombreapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node server/server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.3",
"express": "^4.16.4"
}
}


Subir los cambios a github
crear nuevo repositorio y seguir los pasos q dice en github

Subir los cambios a heroku

escribir en cmd:
heroku create

Heroku crea el nombre del repositorio


escribir para probar :
git remote
git remote -v

para subirlo
push heroku master

heroku open




No hay comentarios: