node.js

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
node.js [2024/05/18 12:20]
tro
node.js [2024/06/22 09:30] (текущий)
tro
Строка 3: Строка 3:
   * Починаючи установку, обов'язково простав чек поряд з Automatically install the necessary tools.   * Починаючи установку, обов'язково простав чек поряд з Automatically install the necessary tools.
   * [[https://nodejs.org/docs/latest/api/|Офіційна документація по node.js]]   * [[https://nodejs.org/docs/latest/api/|Офіційна документація по node.js]]
-====== Налаштування ====== 
  
-===== Версія node.js ===== +  * [[Налаштування node.js]] 
-<code> +  * [[Скрипти node.js]] 
-node --version +  * [[Операції з файловою системою в Node.js]] 
-</code> +  * [[Операції з базами даних в Node.js]] 
-===== Версія NPM (пакетний менеджер) ===== +  * [[Пагінація]] 
-<code> +  [[Feature flag флаг функції або функціональний флаг]] 
-npm --version +  * [[Бібліотеки Node.js]] 
-</code> +  * [[Deploy back server]]
-===== Ініціалізація нового проекта ===== +
-<code> +
-npm init -y +
-</code> +
-Ця команда створить файл package.json у корені вашого проєкту, який автоматично заповниться дефолтними метаданими+
-===== Налаштування додаткові===== +
-Тепер необхідно виконати початкове налаштування і конфігурацію npm, встановивши ім'я та пошту майбутнього автора проєктів — тебе+
-Щоб встановити ім'я, виконай у терміналі таку команду, підстав замість YOUR_NAME своє ім'я і не загуби лапки. +
-<code> +
-npm config set init.author.name "YOUR_NAME" +
-</code> +
-<code> +
-npm config set init.author.email "YOUR_EMAIL" +
-</code> +
-===== Вказаня якою версію використовувати ===== +
-<code> +
-nwm use 20 +
-</code> +
- +
-===== Встановлення залежностей ===== +
-Наступним кроком після ініціалізації проєкту в терміналі нам потрібно перейти до папки проєкту і встановити його залежності. +
-Папку node_modules ніколи не додають до системи контролю версій (не завантажують в репозиторій на github), у всіх розробників вона буде своя. Під час ініціалізації проєкту Vite було створено файл .gitignore, до якого додано правило, що виключає папку node_modules з переліку того, що необхідно завантажити в репозиторій на github. +
-<code> +
-npm install +
-</code> +
-===== Типи залежностей ===== +
-Залежностями проєкту деякі будуть використані у фінальному продукті, інші необхідні тільки на стадії розробки. +
-Саме для цього команди **npm install** і **npm uninstall** мають два прапорці+
-  * --save — вказує, що додається залежність, яка увійде до фінального продукту. Пакет буде встановлений локально, в папку node_modules, і буде доданий запис у поле dependencies в package.json. +
-  * --save-dev — вказує, що додається залежність розробки, яка не увійде до фінального продукту. Пакет буде встановлений локально, в папку node_modules, і буде доданий запис у поле devDependencies в package.json. +
-Якщо не вибирати прапорець, за замовчуванням буде використаний --save. +
- +
-===== Встановлення пакетів ===== +
-Залежність (npm пакет) — це різноманітні утиліти та бібліотеки, що вирішують специфічне завдання.  +
-NPM складається з трьох основних компонентів+
-  * Реєстр пакетів (registry) — велика загальнодоступна база даних інструментів розробки (пакетів)+
-  * Сайт [[npmjs.com|npmjs.com]] — використовується для пошуку та ознайомлення з документацією пакетів. +
-  * Інтерфейс командного рядка (CLI) — запускається з терміналу і надає набір команд для роботи з реєстром і пакетами. Дозволяє створювати скрипти для запуску в терміналі. +
-Команда npm install [package-nameабо її короткий псевдонім npm i [package-nameвстановить бібліотеку як залежність проєкту. +
-<code> +
-npm i validator +
-</code> +
-===== Видалення пакетів ===== +
-Крім того, що ми видалимо код, який використовує бібліотеку, необхідно видалити її як залежність проєкту. +
-Ми можемо видалити будь-яку залежність командою npm uninstall [package-name] або її коротким псевдонімом npm r [package-name]. +
-<code> +
-npm uninstall validator +
-</code> +
-===== Термінали ===== +
-Краще використовувати **GitBush** +
-====== Скрипти ====== +
- +
-===== Автоматизація виконання коду ===== +
-Досить незручно кожен раз, коли ми змінюємо код, виконувати JavaScript-код вручну та перезапускати сервер, щоб переглянути результат. Щоб автоматизувати цей процес, використовуємо пакети nodemon. +
- +
-Встановіть їх як залежності розробки командою: +
-<code> +
-npm install --save-dev nodemon +
-</code> +
-Nodemon - інструмент для розробки на Node.js, який дозволяє автоматично перезапускати сервер після змін у вихідних файлах. +
- +
- +
-Додайте скрипт у файлі package.json для запуску додатка: +
-<code> +
-"scripts":+
-    "dev": "nodemon src/index.js" +
-+
-</code> +
-Тепер ви можете запускати ваш додаток за допомогою команди npm run dev +
-====== Планіги для VSCode ====== +
-[[eslint_-_dozvoljaje_zadati_pevnij_stil_napisannja_kodu_dlja_vsijeji_komandi| ESLint - Лінтінг коду]] +
-====== Модулі Node.js ====== +
-===== path ===== +
-Модуль для роботи з шляхами до файлів під різні ОС. +
-==== join ==== +
-Цей метод приймає аргументами рядки, які будуть перетворені у правильно форматований шлях базуючись на операційній системі, на якій запущена програма. +
-<code> +
-import path from 'node:path'; +
- +
-// приклад для побудови шляху з його частин +
-const somePath = path.join('some_folder', 'some_file.txt');  +
-// somePath буде 'some_folder/some_file.txt' на MacOs +
- +
-// somePath буде 'some_folder\\some_file.txt' на Windows +
- +
-</code> +
-==== parse ==== +
-Дозволяє отримати інформацію по шляху, який був переданий аргументом +
-===== fs ===== +
-дає нам можливості працювати із файлами та папками +
-  * Синхронне виконання (погана швидкість) +
-<code> +
-import fs from 'node:fs'; +
-const fileContent = fs.readFileSync('path_to_file'); +
-</code> +
-  * Асинхронна через кол-бек функцію (максимальна швидкість але погане читання коду) +
-<code> +
-import fs from 'node:fs'; +
- +
-fs.readFile('path_to_file', (err, fileContent) => { +
- /* ваш код */ +
-}); +
-</code> +
-  * Асинхронна через проміси (середня швидкість але гарне читання коду) +
-<code> +
-import fs from 'node:fs/promises'; +
-const fileContent = await fs.readFile('path_to_file'); +
-</code> +
-==== readFile ==== +
-асинхронного читання даних із файлу. +
-<code> +
-import fs from 'fs/promises'; +
- +
-(async () => { +
-  try { +
-    const data = await fs.readFile('file.txt', 'utf8'); +
-    console.log('Вміст файлу:', data); +
-  } catch (err) { +
-    console.error('Помилка читання файлу:', err); +
-  } +
-})(); +
- +
-</code> +
-==== writeFile ==== +
-асинхронного запису даних у файл +
-<code> +
-import fs from 'fs/promises'; +
- +
-// Записуємо дані у файл 'output.txt' +
-(async () => { +
-  const data = 'Це дані, які ми записуємо у файл.'; +
-  try { +
-    await fs.writeFile('output.txt', data, 'utf8'); +
-    console.log('Дані успішно записані у файл.'); +
-  } catch (err) { +
-    console.error('Помилка запису у файл:', err); +
-  } +
-})(); +
- +
-</code>+
  • /sites/data/attic/node.js.1716034832.txt.gz
  • Последнее изменение: 2024/05/18 12:20
  • tro