Chalk : una utility che dà stile al testo

Chalk : una utility che dà stile al testo

Un modulo molto utile per evidenziare i messaggi visualizzati nella console è chalk. Grazie a questa utility possiamo ad esempio dare uno stile ai messaggi di errore, di successo o messaggi informativi.

Come installare chalk

npm i chalk

Dopo aver installato chalk, bisognerà modificare il file package.json, aggiungendo semplicemente l'oggetto: "type": "module". Un esempio:

{
  "name": "clienti",
  "version": "1.0.0",
  "description": "Con quest'app puoi cercare i clienti, aggiungerli ed eliminarli ",
  "main": "app.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "clienti",
    "cerca"
  ],
  "author": "Donato Pirolo",
  "license": "MIT",
  "dependencies": {
    "chalk": "^5.1.2",
  }
}

Importare chalk all'interno della nostra app.

Se il pacchetto è un file js ed ha bisogno di require:

const chalk = require('chalk');

Se il pacchetto è ESM ed ha estensione .mjs

  • Importare con la stessa metolodogia di javascript ES6 lato client
  • Il file da importare deve essere .mjs
  • All'interno di package.json deve essere aggiunto l'oggetto {"type": "module"}
  • La sintassi dell'importazione nell'app sarà di questo tipo :
    import abc from './abc.mjs';
import chalk from 'chalk';

// test di chalk
console.log(chalk.red('Messaggio in rosso con chalk'));
console.log(chalk.underline('Messaggio in sottolineato con chalk'));
console.log(chalk.bold('Messaggio grassetto con chalk'));
console.log(chalk.blue.inverse.underline('Messaggio evedenziato in blu e sottolineato con chalk'));

Lanciamo nodemon sulla nostra app ed il risultato sarà il seguente:

Testo stilizzato con chalk
Testo stilizzato con chalk.

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2022
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram