node.js

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
node.js [2024/05/18 12:25]
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 ===== 
-<code> 
-node --version 
-</code> 
-===== Версія NPM (пакетний менеджер) ===== 
-<code> 
-npm --version 
-</code> 
-===== Ініціалізація нового проекта ===== 
-<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> 
-==== appendFile ==== 
- асинхронного додавання даних у кінець файлу 
-<code> 
-import fs from 'fs/promises'; 
- 
-// Додаємо дані до файлу 'output.txt' 
-(async () => { 
-  const data = 'Це дані, які ми додаємо до файлу.'; 
-  try { 
-    await fs.appendFile('output.txt', data, 'utf8'); 
-    console.log('Дані успішно додані до файлу.'); 
-  } catch (err) { 
-    console.error('Помилка додавання даних до файлу:', err); 
-  } 
-})(); 
- 
-</code> 
-==== rename ==== 
-асинхронного перейменування або переміщення файлу чи каталогу 
-<code> 
-import fs from 'fs/promises'; 
- 
-// Перейменовуємо або переміщуємо файл чи каталог зі шляху 'oldfile.txt' до 'newfile.txt' 
-(async () => { 
-  try { 
-    await fs.rename('oldfile.txt', 'newfile.txt'); 
-    console.log('Файл або каталог успішно перейменовано або переміщено.'); 
-  } catch (err) { 
-    console.error('Помилка перейменування або переміщення:', err); 
-  } 
-})(); 
- 
-</code> 
-==== unlink ==== 
-метод використовується для асинхронного видалення файлу 
-<code> 
-import fs from 'fs/promises'; 
- 
-// Видаляємо файл за шляхом 'file.txt' 
-(async () => { 
-  try { 
-    await fs.unlink('file.txt'); 
-    console.log('Файл успішно видалено.'); 
-  } catch (err) { 
-    console.error('Помилка видалення файлу:', err); 
-  } 
-})(); 
- 
-</code> 
-==== readdir ==== 
-для асинхронного отримання списку файлів та каталогів у заданому каталозі. 
-<code> 
-import fs from 'fs/promises'; 
- 
-// Отримуємо список файлів і каталогів у поточному каталозі 
-(async () => { 
-  try { 
-    const files = await fs.readdir('.'); 
-    console.log('Список файлів і каталогів:', files); 
-  } catch (err) { 
-    console.error('Помилка отримання списку файлів і каталогів:', err); 
-  } 
-})(); 
- 
-</code> 
-==== access ==== 
-перевіряти наявність папок за допомогою цього методу 
-<code> 
-import fs from 'fs/promises'; 
- 
-// Перевіряємо доступність файлу або каталогу за вказаним шляхом 
-(async () => { 
-  const path = 'file.txt'; 
-  try { 
-    await fs.access(path); 
-    console.log(`Файл або каталог '${path}' доступний.`); 
-  } catch (err) { 
-    if (err.code === 'ENOENT') { 
-      console.log(`Файл або каталог '${path}' не існує.`); 
-    } else { 
-      console.error( 
-        `Помилка перевірки доступності файлу або каталогу '${path}':`, 
-        err, 
-      ); 
-    } 
-  } 
-})(); 
- 
-</code> 
  
 +  * [[Налаштування node.js]]
 +  * [[Скрипти node.js]]
 +  * [[Операції з файловою системою в Node.js]]
 +  * [[Операції з базами даних в Node.js]]
 +  * [[Пагінація]]
 +  * [[Feature flag - флаг функції або функціональний флаг]]
 +  * [[Бібліотеки Node.js]]
 +  * [[Deploy back server]]
  • /sites/data/attic/node.js.1716035123.txt.gz
  • Последнее изменение: 2024/05/18 12:25
  • tro