Rest API CRUD – Node.js + express + React.js + MySQL Part 1: Create project

Node.js es un entorno en tiempo de ejecución multiplataforma y desarrollador por Ryan Dahl., Node.js está basado en el motor V8 de Google. Crear carpeta

mkdir node-react

Utilice el comando para crear archivo package.json

npm init --yes

Express

Express es el framework de node.js mas popular y cuenta con mas de 45000 desarrolladores en Github

sudo npm install express

MySQL

sudo npm install --save mysql2

Crear carpeta una src en el proyecto y crear un archivo App.js en la carpeta src

src/app.js

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

//Settings
app.set('port', process.env.PORT || 3000);

//Middlewares
app.use(express.json());

app.use('/',(req,res)=>{
  res.send("Hello World form NodeJS express.");
});


app.listen(app.get('port'),()=>{
  console.log("Start server on port "+app.get('port'))
})

Y ahora ejecutar

node src/app.js

Nodemon

Nodemon

Script de monitor simple para usar durante el desarrollo de una aplicación node.js. Instalar :

sudo npm install --g nodemon

Agregar un linea en script de Package,json

"dev":"nodemon src/app.js"

Y ahora ejecutar

npm run dev

Controlador y Route

Ruta

Probar una ruta /test

app.use('/test', (req, res) => {
  res.send("Test route");
});

Crear una carpeta y archivo para ruta y importarla.

src/routes/employeeRoute.js

const express = require('express');
const router = express.Router();

router.get('/waka', (req, res) => {

  res.json({status: 'Employeed Saved'});

});

module.exports = router;

src/app.js

// importing routes
const employeeRouters = require('./routes/employeeRoute')
//Route
app.use('/employee',employeeRouters)

Controlador

Crear una carpeta llamado controllers y crea un archivo para controlador.

src/controllers/customerController.js

const controller = {}

controller.test = (req,res) => {

  const data = {
    name: "Jhon Smith",
    age: 20,
    city: 'London'
  }

  console.log("Send data from controller employee");
  res.json(data);

};

module.exports = controller;

src/routes/employeeRoute.js

//importing controllers
const employeeController = require('../controllers/employeeController')
router.get('/test',employeeController.test);

3 comentarios en «Rest API CRUD – Node.js + express + React.js + MySQL Part 1: Create project»

  1. Hi, I followed all your steps but once I’ll call the Route.js
    http://localhost:3000/transaction/save/ >> give me a message «Cannot GET /transaction/save/»

    See code below, what am i doing wrong here?
    Running on Node Version: v12.16.1
    /******************************************************************/
    src/app.js
    const TransRouters = require(‘./routes/TransactionRoute’);
    app.use(‘/transaction,’, TransRouters);

    //src/routes/TransactionRoute.js
    const express = require(‘express’);
    const router = express.Router();
    router.get(‘/save’, (req, res) => {
    res.json({status: ‘Saved’});
    });
    module.exports = router;

  2. Si les sigue marcando error pueden resolver este problema agregando nodemona su package.json
    npm install nodemon –save-dev

    El problema ocurre cuando nodemonno existe en /node_modules/.bin.
    Agregado –save-devya que solo se requiere durante el desarrollo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *