Создаём список дел (CLI) с хранением в файле
Превратим простые команды в настоящий инструмент на каждый день
process.argv и чтение/запись файлов модулем fs -- чтобы построить настоящий список дел. Ты будешь вводить в терминале команды вроде node todo.js add "Buy milk", а программа будет помнить твои задачи в JSON-файле, даже после закрытия.
- читать команду и её аргумент из
process.argv, - загружать задачи из JSON-файла и сохранять их обратно,
- сделать четыре действия:
add,list,doneиdelete, - обрабатывать самый первый запуск, когда файла ещё нет,
- собрать всё это в одну маленькую аккуратную программу.
1. Что мы строим?
Представь листок на холодильнике, где ты записываешь дела: "Buy milk", "Walk the dog", "Finish homework". Когда дело сделано, ты вычёркиваешь его. Когда оно больше не нужно, ты выбрасываешь листок. Наша программа -- этот листок, но он живёт в терминале.
Аналогия. Думай о программе как о маленьком помощнике в гардеробе. Ты подходишь и говоришь короткую команду -- "добавь это", "покажи мой список", "отметь номер 2 сделанным" -- а помощник записывает всё в блокнотик, который лежит в ящике. Этот блокнотик -- наш JSON-файл. Каждый раз, когда ты возвращаешься, помощник открывает тот же блокнотик, поэтому ничего не забывается.
Вот как выглядит работа с готовым инструментом в терминале:
node todo.js add "Buy milk"
node todo.js add "Walk the dog"
node todo.js list
node todo.js done 0
node todo.js delete 1
Каждая строка -- одна команда. Слово сразу после todo.js (add, list, done, delete) говорит программе, что делать. В этом и весь смысл CLI -- интерфейса командной строки.