En este artículo, revisaremos los cambios notables introducidos en la nueva versión de Node.js :
- Agregar
node:sqlite
módulo (Colin Ihrig) #53752 - método add
matchesGlob
(Aviv Keller) #52881 - añadir
postMessageToThread
(Paolo Insogna) #53682
¡Empecemos!
node:sqlite
El node:sqlite
módulo facilita el trabajo con bases de datos SQLite.
// index.js
const { DatabaseSync } = require ( 'node:sqlite' );
const database = new DatabaseSync ( ':memory:' );
// Ejecutar sentencias SQL desde strings.
database. exec ( `
CREATE TABLE data(
id INTEGER PRIMARY KEY,
name TEXT
);
` );
// Crear una sentencia preparada para insertar datos en la base de datos.
const insert = database. prepare ( 'INSERT INTO data (id, name) VALUES (?, ?)' );
// Ejecutar la sentencia preparada con valores enlazados.
insert. run ( 1 , 'Bob' );
insert. run ( 2 , 'John' );
// Crear una sentencia preparada para leer datos de la base de datos.
const query = database. prepare ( 'SELECT * FROM data ORDER BY id' );
// Ejecutar la sentencia preparada y registrar el conjunto de resultados.
console . log (query. all ());
// [ { id: 1, nombre: 'Bob' }, { id: 2, nombre: 'Juan' } ]
El siguiente ejemplo muestra el uso básico del node:sqlite
módulo para abrir una base de datos en memoria, escribir datos en la base de datos y luego volver a leerlos.
Esta biblioteca incorporada se vuelve disponible cuando se utiliza la --experimental-sqlite
bandera.
nodo --experimental-sqlite index.js
Nosotros, los desarrolladores, junto con los módulos nativos de Node.js, utilizamos muchos módulos externos para que el servidor sea completamente funcional. Es excelente que Node.js intente incluir esas herramientas importantes por sí solo. Por ejemplo, recientemente agregaron un soporte nativo para test runner , por lo que cambiamos de la biblioteca nativa jest
a mocha
la biblioteca nativa. Ahora es el momento de las bases de datos y los ORM.
Este es actualmente un módulo experimental y llevará algún tiempo hasta que se estabilice y tenga más métodos.
Agradezcamos el esfuerzo del equipo de Node.js Core. Algún día, solo utilizaremos una pequeña cantidad de bibliotecas externas, ya que la mayoría de los módulos clave estarán disponibles de forma nativa.
matchesGlob
Este es otro método experimental que determina si path
coincide con el pattern
.
ruta .matchesGlob( '/foo/bar' , '/foo/*' ); // verdadero
ruta .matchesGlob( '/foo/bar*' , 'foo/bird' ); // falso
Para conoce más Click aquí