Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Як Node.js Завантажує Модулі | Секція
Практика
Проекти
Вікторини та виклики
Вікторини
Виклики
/
Основи Node.js

bookЯк Node.js Завантажує Модулі

Свайпніть щоб показати меню

Для ефективної роботи з модулями у Node.js необхідно розуміти, як Node.js знаходить і завантажує їх. Цей процес називається резолюцією модулів. Коли ви використовуєте функцію require для імпорту модуля, Node.js дотримується певного алгоритму для пошуку файлу або пакета, який ви запитуєте. Процес резолюції враховує розширення файлів, структуру папок і навіть наявність спеціальних файлів, таких як package.json.

Node.js спочатку перевіряє, чи є модуль, який ви вимагаєте, вбудованим модулем, наприклад, fs або http. Якщо це не вбудований модуль, Node.js розглядає рядок, який ви передаєте у require, як відносний шлях (що починається з ./ або ../), абсолютний шлях або ім'я модуля. Для відносних і абсолютних шляхів Node.js намагається знайти файл, перевіряючи наступне по черзі:

  • Чи існує точний файл із заданою назвою;
  • Чи існує файл із доданим розширенням .js;
  • Чи існує файл із доданим розширенням .json;
  • Чи існує файл із доданим розширенням .node.

Якщо шлях вказує на директорію, Node.js буде шукати файл package.json у цій директорії. Якщо він знайде його, то використає поле main для визначення, який файл завантажити. Якщо немає package.json або поля main, Node.js буде шукати файл index.js, index.json або index.node у цій директорії.

Якщо ви вимагаєте модуль за ім'ям (не шляхом), Node.js буде шукати його у папках node_modules, починаючи з поточної директорії і піднімаючись вгору по дереву директорій до кореня.

app.js

app.js

copy
Note
Примітка

Node.js кешує модулі після першого завантаження. Це означає, що якщо ви вимагаєте один і той самий модуль кілька разів, він виконується лише один раз, а наступні виклики повертають той самий кешований об'єкт. Це підвищує продуктивність і забезпечує узгодженість у вашому застосунку.

question-icon

Заповніть пропуски:
Коли ви використовуєте require('./moduleName') у Node.js, алгоритм вирішення модулів перевіряє у такому порядку:

  1. Чи існує файл з назвою moduleName;
  2. Чи існує файл з назвою moduleName.___1___;
  3. Чи існує файл з назвою moduleName.___2___;
  4. Чи існує файл з назвою moduleName.___3___.

Click or drag`n`drop items and fill in the blanks

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 11

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 11
some-alt