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);
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;
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.
nodemono? es nodemon.