https://github.com/annatsepilova/goit-node-cli
home tasks for course Node.js
https://github.com/annatsepilova/goit-node-cli
javascript nodejs
Last synced: 3 months ago
JSON representation
home tasks for course Node.js
- Host: GitHub
- URL: https://github.com/annatsepilova/goit-node-cli
- Owner: AnnaTsepilova
- Created: 2024-04-29T13:01:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-01T17:12:18.000Z (over 1 year ago)
- Last Synced: 2025-07-15T11:22:08.382Z (4 months ago)
- Topics: javascript, nodejs
- Language: JavaScript
- Homepage:
- Size: 1.45 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Домашнє завдання. Створення консольних додатків
### Крок 1
Ініціалізуй в репозиторії проєкт за допомогою команди npm init. Встанови як залежність проєкту пакет [commander](https://www.npmjs.com/package/commander)
В корінь проєкту помісти файли.
### Крок 2
У файл `contacts.js` зроби імпорт модулів `fs` (у версії, яка працює з промісами - `fs/promises`) і `path` для роботи з файловою системою.
Створи змінну `contactsPath` і запиши в неї шлях до файлу `contacts.json`. Для складання шляху використовуй методи модуля `path`.
Додай асинхронні функції для роботи з колекцією контактів. У функціях використовуй модуль `fs` та його методи `readFile()` і `writeFile()`. Відповідні функції мають повертати необхідні дані за допомогою оператора `return`. Вивід в консоль в написаних функціях здійснюватись не повинен.
Зроби експорт створених функцій.
### Крок 3
Зроби імпорт функцій з файла `contacts.js` в файл `index.js`.
Далі використовуй готову функцію `invokeAction()`, яка отримує тип виконуваної дії і необхідні аргументи. Функція має викликати відповідний метод з файлу `contacts.js`, передаючи йому необхідні аргументи. Результат роботи викликаної функції слід вивести в консоль.
### Крок 4
Запусти команди в терміналі і переконайся, що код працює належним чином.
```
# Отримуємо і виводимо весь список контактів у вигляді таблиці (console.table)
node index.js -a list
# Отримуємо контакт по id і виводимо у консоль об'єкт контакту або null, якщо контакту з таким id не існує.
node index.js -a get -i 05olLMgyVQdWRwgKfg5J6
# Додаємо контакт та виводимо в консоль об'єкт новоствореного контакту
node index.js -a add -n Mango -e mango@gmail.com -p 322-22-22
# Видаляємо контакт та виводимо в консоль об'єкт видаленого контакту або null, якщо контакту з таким id не існує.
node index.js -a remove -i qdggE76Jtbfd9eWJHrssH
```
### Final Result



