📅  最后修改于: 2023-12-03 15:36:32.334000             🧑  作者: Mango
在项目开发过程中,管理任务是非常重要的一环。为了方便管理任务,在 Node.js 中可以使用简单任务管理器 CLI 来实现。
该任务管理器具有添加任务、删除任务、标记任务完成等功能,使用简单方便,可以提高开发效率。
需要先在电脑上安装好 Node.js 环境,然后使用以下命令安装任务管理器:
npm install -g task-manager-cli
可以使用 task add
命令来添加新的任务:
task add "学习 Node.js"
使用 task list
命令可以列出所有的任务:
task list
使用 task done
命令可以将指定的任务标记为完成状态:
task done 1
使用 task delete
命令可以删除指定的任务:
task delete 1
下面是实现任务管理器的 JavaScript 代码:
const program = require('commander');
const { prompt } = require('inquirer');
const Table = require('cli-table');
const taskTable = new Table({
head: ['ID', 'Task', 'Status'],
});
const tasks = [];
program
.version('1.0.0')
.description('Simple task manager CLI');
program
.command('add <task>')
.alias('a')
.description('add a new task')
.action((task) => {
tasks.push({
id: tasks.length + 1,
task: task,
completed: false,
});
console.log(`Task "${task}" added!`);
});
program
.command('list')
.alias('l')
.description('list all tasks')
.action(() => {
tasks.forEach((task) => {
let status = ' ';
if (task.completed) {
status = '✔';
}
taskTable.push([task.id, task.task, status]);
});
console.log(taskTable.toString());
});
program
.command('done <id>')
.alias('d')
.description('mark a task as done')
.action((id) => {
const task = tasks.find((task) => task.id === parseInt(id));
if (task) {
task.completed = true;
console.log(`Task "${task.task}" marked as done!`);
} else {
console.log(`Task with ID "${id}" not found!`);
}
});
program
.command('delete <id>')
.alias('del')
.description('delete a task')
.action((id) => {
const taskIndex = tasks.findIndex((task) => task.id === parseInt(id));
if (taskIndex !== -1) {
tasks.splice(taskIndex, 1);
console.log(`Task with ID "${id}" deleted!`);
} else {
console.log(`Task with ID "${id}" not found!`);
}
});
if (!process.argv.slice(2).length) {
program.outputHelp();
} else {
program.parse(process.argv);
}
以上是一个非常基本的实现,可以根据需要进行修改和优化。