,

Como implementar paginación con NodeJS, Express y SQLite

Posted by





Implemento un paginado con NodeJS, Express y SQLite

Implemento un paginado con NodeJS, Express y SQLite

El paginado es una funcionalidad importante en cualquier aplicación web que muestra grandes cantidades de datos. A través del paginado, los usuarios pueden navegar de manera más eficiente a través de conjuntos de datos extensos. En este artículo, te mostraremos cómo implementar un paginado con NodeJS, Express y SQLite.

Requisitos previos

Antes de comenzar, debes tener instalado NodeJS en tu sistema. Además, asegúrate de tener npm (Node Package Manager) instalado. También necesitarás tener SQLite instalado en tu sistema para poder crear y manipular bases de datos.

Configuración inicial

Primero, crea un nuevo directorio para tu proyecto y navega a él a través de la línea de comandos. Luego, ejecuta el siguiente comando para inicializar un proyecto de NodeJS:

npm init -y

Esto creará un archivo package.json que contendrá la configuración básica de tu proyecto.

Instalación de dependencias

A continuación, necesitarás instalar las dependencias necesarias para tu proyecto. Ejecuta el siguiente comando para instalar Express y SQLite:

npm install express sqlite3

Creación de la base de datos

Crea un archivo llamado database.js en tu directorio y agrega el siguiente código para inicializar y conectarte a una base de datos SQLite:


    const sqlite3 = require('sqlite3').verbose();
    const db = new sqlite3.Database('database.db');
    
    db.serialize(() => {
        db.run("CREATE TABLE if not exists items (id INTEGER PRIMARY KEY, name TEXT)");
    });
    
    db.close();
    

Implementación del paginado

Crea un archivo llamado app.js y agrega el siguiente código para configurar un servidor Express y realizar consultas paginadas a la base de datos:


    const express = require('express');
    const db = require('./database');
    const app = express();
    
    const itemsPerPage = 10;
    
    app.get('/items', (req, res) => {
        const page = parseInt(req.query.page) || 1;
        const offset = (page - 1) * itemsPerPage;
        
        db.all('SELECT * FROM items LIMIT ? OFFSET ?', [itemsPerPage, offset], (err, rows) => {
            if (err) {
                res.status(500).send(err.message);
            } else {
                res.json(rows);
            }
        });
    });
    
    app.listen(3000, () => {
        console.log('Server is running on port 3000');
    });
    

Finalización y ejecución

Finalmente, ejecuta el siguiente comando para iniciar tu servidor de NodeJS:

node app.js

Una vez que el servidor esté en funcionamiento, puedes hacer consultas paginadas a través de la ruta /items en tu navegador o utilizando herramientas como Postman o cURL.

Ahora deberías tener un servidor de NodeJS con Express y SQLite que implementa un paginado efectivo para tus datos. ¡A disfrutar!