В nodejs модуль — это js-файл, используемый для использования некоторых указанных функций. Путем разделения всех функций на модули область действия глобальных переменных и функций, определенных в каждом модуле, также ограничивается этим модулем. Он используется для управления модулями и их элементами. зависимости и может инкапсулировать несколько модулей.
Операционная среда в этой статье: система Windows 10, nodejs версии 12.19.0, компьютер Dell G3.
Различайте пакеты и модули. Правильное использование пакетов и модулей сделает вашу программу менее избыточной, легко читаемой и полностью функциональной.
Пакеты используются для управления несколькими модулями и их зависимостями. Можно инкапсулировать несколько модулей. Корневой каталог пакета должен содержать файл package.json. Файл package.json, соответствующий спецификации CommonJS, обычно содержит следующие поля:
имя: имя пакета. Имена пакетов уникальны и могут содержать только строчные буквы, цифры и символы подчеркивания. версия: номер версии пакета. описание: Описание пакета. ключевые слова: массив ключевых слов, используемый для поиска. домашняя страница: домашняя страница проекта. bugs: адрес для отправки ошибок. лицензия: лицензия. сопровождающие: массив сопровождающих. участники: массив участников. репозитории: массив адресов хостинга хранилищ проектов. зависимости: зависимости пакета.Файл package.json можно редактировать вручную или создать с помощью команды npm init. Введите команду npm init в терминале, чтобы сгенерировать пакет, содержащий файл package.json. Введите npm init --yes напрямую, чтобы пропустить ответ на вопрос и напрямую сгенерировать файл package.json со значениями по умолчанию.
Установите пакет с помощью команды npm install xxx. например:
Пакет установки: npm install express Пакет обновления: npm update express Удалить пакет: npm uninstall expressНайдите пакет в сообществе npm и установите его, выполнив команду имя модуля установки npm. Имя каждого модуля глобально уникально.
Нам нужно сравнить JS в браузере с JS в Node.js:
В JavaScript мы обычно делим код JavaScript на несколько js-файлов, а затем объединяем и запускаем эти js-файлы в браузере. В Node.js все функции разделены на модули. Каждый модуль представляет собой файл js, и область действия глобальных переменных и функций, определенных в каждом модуле, также ограничена этим модулем. Только объект экспорта может быть передан для внешнего использования.Node.js официально предоставляет множество модулей, каждый из которых реализует функцию, например модуль fs для работы с файлами и файловыми системами, модуль http для построения http-сервисов, модуль path для обработки путей к файлам и т. д.
Мы создаем модуль и экспортируем его с помощью модуля.exports.
файл myModule.js
function foo() { console.log("hello syl");} Module.exports.foo = foo;файл index.js
var hello = require("./myModule.js");hello.foo();Примечание. Основной модуль определен в каталоге lib/ исходного кода Node.js. require() всегда сначала загружает основные модули. Например: require('http') всегда возвращает встроенный HTTP-модуль, даже если существует файл с таким же именем.
Чтобы упростить ваши операции, Node.js предоставляет специальную переменную: экспорт равен модулю.exports. Эти две строки кода имеют одинаковый эффект:
модуль.exports.foo = foo;exports.foo = foo;Объясните случай:
// модуль.jsconsole.log('модуль', модуль)console.log('модуль.экспортс', модуль.экспорт)console.log('экспорт', экспорт)console.log(модуль.экспорт === экспорт) ;console.log("======================================="); экспорт = { a: 3, };console.log(exports);console.log(module.exports);console.log(exports === Module.exports);require() получает значение, экспортированное модулем.exports. Вы можете использовать модуль.exports и экспорт для экспорта нескольких элементов. Вы можете использовать модуль.exports только для экспорта одного элемента.
Рекомендуемое обучение: «видеоурок по nodejs».
Выше приведено подробное описание того, что делают модули и пакеты nodejs. Для получения дополнительной информации обратите внимание на другие соответствующие статьи на этом сайте!