NOTA: para ver los procedimientos de carga de los archivos e introducción de la variable de sistema (para que NODE funcione correctamente), consultar los ejemplos anteriores.
Vamos a crear una carpeta para el proyecto en IFS (Integrated File System / Sistema integrado de archivos).
Allí subimos los siguientes archivos:
> server.js es el ejecutable de la webapp.
> db.js contiene las funciones CRUD en SQL de la webapp.
Dentro de la carpeta del proyecto creamos otra llamada 'views' que contendrá los archivos .ejs.
> index.ejs es el HTML que mostrará la DB y permite el CRUD desde el navegador.
Entramos a PDM y en QDDSSRC, creamos con 'F6=Create', un PF llamado 'ACTIV'
y le introducimos el siguiente codigo para crear la tabla de la DB:
> ACTIV define una tabla con un solo campo a los efectos del ejemplo.
> ACTIVdb ejemplo de algunos datos para llenarla.
La compilamos con la opción 14=Compile y cargamos algunos datos de ejemplo.
En el QSHELL, posicionados dentro de la carpeta del proyecto, instalamos las siguientes dependencias:
| > npm init -y | Crea el package.json que es core del pack node |
| > npm i express | Maneja los pedidos y respuestas web. |
| > npm i ejs | Permite incrustar código, variables de node, etc. en HTML. |
| > npm i idb-pconnector | Permite conectarse a la base de datos y enviar comandos SQL. |
| > npm i -D nodemon | Reinicia el server cuando cambiamos un archivo. Es opcional pero muy útil. |
NOTA: para que el NODEMON funcione, hay que editar package.json y cambiar la parte de 'scripts' por lo siguiente:
"scripts": {
"dev": "nodemon server.js"
Para iniciar la ejecución de NODEMON:
> npm run dev
Se mostrará por consola lo siguiente:
> todoapp1@1.0.0 dev
> nodemon server.js
[33m[nodemon] 3.0.1 [39m
[33m[nodemon] to restart at any time, enter `rs` [39m
[33m[nodemon] watching path(s): *.* [39m
[33m[nodemon] watching extensions: js,mjs,cjs,json [39m
[32m[nodemon] starting `node server.js` [39m
Ahora no necesitamos reiniciar el server cada vez que cambiemos algo en server.js