Antes de crear una CLI del Administrador de tareas simple con NodeJS, ejecutemos nuestra primera aplicación básica de Node.js con los siguientes pasos simples:
Nota: Puede descargar e instalar la aplicación Node.js desde href=”https://nodejs.org/en/”
Paso 1: Cree un directorio para nuestra CLI del Administrador de tareas llamado TODO-CLI, puede dar el nombre de su elección.
Paso 2: en ese directorio, cree un archivo JavaScript llamado index.js como se muestra a continuación:
Paso 3: este archivo contiene código JavaScript para ejecutar un programa. Ahora podemos escribir un código de muestra como se muestra a continuación:
Paso 4: después de escribir el código en el archivo index.js, ejecute este archivo con el siguiente comando:
node index.js
Después de ejecutar el comando, obtendrá el siguiente resultado. Entonces, ahora confirmamos que nuestro archivo index.js se está ejecutando sin ningún problema.
Paso 5: Instale los siguientes módulos que se utilizan para esta aplicación usando el siguiente comando:
npm install yargs npm install lodash
- loadsh: una moderna biblioteca de utilidades de JavaScript que ayuda a trabajar con Array, Numbers, String, Objects y Strings.
- yargs: es un módulo de línea de comandos interactivo que ayuda a leer la entrada del usuario.
Paso 6: crea un nuevo archivo llamado todo.js y escribe el siguiente código en él:
Nombre de archivo: todo.js
Javascript
console.log("todo.js is running !!"); const fs = require('fs'); // Add a todo item var addTodo = (title) => { var todos = fetchTodos(); var todo = { title }; var duplicatetodos = todos.filter( (todo) => todo.title === title); if (duplicatetodos.length === 0) { todos.push(todo); saveTodos(todos); return todo; } }; // Delete a todo item var deleteTodo = (title) => { var todos = fetchTodos(); var filteredtodos = todos.filter( (todo) => todo.title !== title); saveTodos(filteredtodos); return todos.length !== filteredtodos.length; }; // Read a todo item var readTodo = (title) => { var todos = fetchTodos(); var filteredTodos = todos.filter( (todo) => todo.title === title); return filteredTodos[0]; }; // List all todo items var listTodos = () => { return fetchTodos(); }; // Utility functions var fetchTodos = () => { try { var todosString = fs.readFileSync('tasks-data.json'); return JSON.parse(todosString); } catch (e) { return []; } }; var saveTodos = (todos) => { fs.writeFileSync('tasks-data.json', JSON.stringify(todos)); }; var logTodo = (todo) => { console.log('## ---## --- ##'); console.log(`It's title is: ${todo.title}`); }; // Exporting function module.exports = { addTodo, deleteTodo, readTodo, listTodos, logTodo };
En el archivo anterior incluido en la sección de utilidades que maneja todo el sistema de administración de archivos NodeJS como se muestra a continuación:
- readFileSync: https://www.geeksforgeeks.org/node-js-fs-readfilesync-method/
- escribirFileSync: https://www.geeksforgeeks.org/node-js-fs-writefilesync-method/
- JSON.parse: https://www.geeksforgeeks.org/javascript-json-parse-method/
- JSON.stringify: https://www.geeksforgeeks.org/javascript-json-stringify-method/
Paso 7: Ahora actualice nuestro código de archivo index.js anterior con el siguiente código completo:
Nombre de archivo: index.js
Javascript
console.log("index.js is running"); const fs = require('fs'); const _ = require('lodash'); const yargs = require('yargs'); const tasks = require('./todo'); const argv = yargs.argv; var command = argv._[0]; console.log('Running Command is :', command); if (command === 'addTodo') { tasks.addTodo(argv.title); } else if (command === 'deleteTodo') { var todoDeleted = tasks.deleteTodo(argv.title); var message = todoDeleted ? 'Todo was deleted' : 'Todo can not found'; console.log(message); } else if (command === 'readTodo') { var todo = tasks.readTodo(argv.title); if (todo) { console.log('yahoo! The todo was found.'); tasks.logTodo(todo); } else { console.log('Oops! The todo was not found.'); } } else if (command === 'listTodos') { var allTodos = tasks.listTodos(); console.log(`${allTodos.length} tasks available`); allTodos.forEach((todo) => tasks.logTodo(todo)); } else { console.log('It is a Invalid command.'); }
Paso 8: Los siguientes son algunos comandos para nuestra aplicación de tareas:
1. Agregar tareas: use el siguiente comando para agregar tareas para nuestra aplicación.
node index.js addTodo --title="your tasks"
Cuando agrega todas las tareas mediante el uso de la línea de comando, si observa la carpeta del proyecto, puede ver que se crea un archivo task-data.json y todas las tareas se enumeran como estructura JSON en ese archivo, como se muestra a continuación:
2. Eliminar tareas: la eliminación de tareas es necesaria cuando se completaron las tareas y desea eliminarlas de su lista de tareas, puede eliminar tareas con el siguiente comando:
node index.js deleteTodo --title="your task"
Cuando ejecuta este comando, si señala en task-data.json, verá qué datos escribió para eliminarlos de la lista de tareas como se muestra a continuación:
3. Leer tareas: si desea verificar que todas sus tareas estén presentes o no, use el siguiente comando:
node index.js readTodo --title="your task"
4. Mostrar lista de tareas: si desea ver todas las tareas que aún no se han completado, utilice el siguiente comando:
node index.js listTodos
Publicación traducida automáticamente
Artículo escrito por rickyrayabhisek99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA