Quiero imprimir un número en caporal js. Pero el resultado no lo quiero porque devuelve verdadero/falso. Quiero, si no existe, pasar un número de parámetro, el valor predeterminado es 32. Este es mi código
#!/usr/bin/env node const { program } = require("@caporal/core"); program .command("random", "Generate random alphanumeric") .option("--length", "length of number", program.NUMERIC, 32) .action(({ logger, args, options }) => { let length = options.length; let letters = options.letters logger.info(length); }); program.run();si ejecuto en la terminal
Digamos
./app.js aleatorio
será el resultado 32
si ejecuto ./app.js al azar --longitud=10
será el resultado 10
He intentado encontrar el problema, pero no puedo. ¿Cómo debo reparar mi código tan apropiado con lo que quiero?
Puedes usar este código:
#!/usr/bin/env node const { program } = require("@caporal/core"); program .command("random", "Generate random alphanumeric") .option("--length <num>", "length of number", { validator: program.NUMBER, default: 32, }) .action(({ logger, args, options }) => { let length = options.length; let letters = options.letters logger.info(length); }); program.run(); options en .option hay 3 argumentos, incluyendo:
Puede cambiar --length a --length <num> para agregar el valor numérico después del comando --length . Luego, elimina program.NUMERIC, 32 y agrega este código
{ validator: program.NUMBER, defaults: 32, }para definir un validador en el tipo de datos de número y contiene el número predeterminado es 32.