Как устранить ошибку «Невозможно найти модуль» с помощью Node.js?

Kak Ustranit Osibku Nevozmozno Najti Modul S Pomos U Node Js



Как и другие языки программирования, Node.js не нужно разбивать исходный код приложения на мелкие части. Он записывает весь исходный код в файл «.js», и интерпретатор не вызывает никаких проблем. Однако при создании очень сложного приложения Node.js рекомендуется разделить исходный код на более мелкие модули, а затем объединить их в единое приложение.

Краткое описание

Что такое модуль в Node.js?

В Node.js « модуль соответствует библиотеке, которая строит соединение с приложением на основе его контекста. Это позволяет разработчикам повторно использовать инкапсулированный код всякий раз, когда это необходимо. Он разделен на три основные категории: «встроенные», «локальные» и «сторонние» модули. Эти модули также содержат широкий спектр методов и свойств, которые выполняют операции, определенные в соответствии с их функциональностью.







Как устранить ошибку «Невозможно найти модуль» с помощью Node.js?

В этом разделе перечислены все возможные причины, вызывающие ошибку «Невозможно найти модуль», а также представлены возможные решения для ее устранения:



Причина 1: Требуемый модуль не установлен

Наиболее распространенная причина « Не могу найти модуль ” Ошибка в том, что требуется “ сторонний модуль не установлен » в текущем проекте Node.js. Предположим, мы импортируем сторонний модуль «mysql» в приложение Node.js таким образом:



константа MySQL '=' требовать ( 'mysql' ) ;

В приведенной выше команде « требовать() Метод «mysql» включает модуль «mysql» в текущее приложение node.js.





Запустите файл «.js»:

индекс узла. js

В приведенном ниже выводе генерируется обсуждаемая ошибка, поскольку модуль «mysql» не установлен в текущем проекте Node.js:



Решение: установите необходимый модуль.

Решение вышеописанной ошибки заключается в правильной установке необходимого модуля с помощью команды « НПМ / пряжа » менеджер пакетов. Для этого сценария необходимый модуль «mysql» устанавливается с помощью команды установки «npm»:

npm установить mysql

Вывод показывает успешную установку модуля «mysql» в текущем проекте Node.js:

Теперь снова запустите файл «.js»:

индекс узла. js

Можно проанализировать, что приведенная выше команда выполнена успешно без возникновения ошибки «Невозможно найти модуль»:

Причина 2. Неверный путь к модулю.

Еще одна причина « Не могу найти модуль » ошибка – это « неверный путь к модулю ». Обычно это происходит, когда пользователь импортирует локальный модуль по его относительному пути. Предположим, пользователь создает собственный модуль в определенной папке и импортирует его в приложение Node.js. Прежде чем это сделать, убедитесь, что указан правильный путь, иначе возникнет обсуждаемая ошибка.

Например, локальный/пользовательский модуль с именем « мойМодуль присутствует в папке «./custom-modules»:

Пользователь импортирует выделенный выше «myModule» в текущее приложение Node.js по его относительному пути:

константа языки '=' требовать ( './мойМодуль' ) ;

Запустите файл «.js»:

индекс узла. js

Видно, что из-за неправильного пути к «myModule» генерируется ошибка «Невозможно найти модуль»:

Решение: укажите правильный путь к модулю.

Решение вышеописанной ошибки — указать правильный или точный путь к модулю, где он находится. Здесь мы передали правильный путь «myModule», чтобы устранить ошибку «Невозможно найти модуль»:

константа языки '=' требовать ( './custom-modules/myModule' ) ;

Запустите файл «.js»:

индекс узла. js

Можно заметить, что приведенный ниже вывод не показывает обнаруженную ошибку, поскольку указанный путь импортированного модуля был исправлен:

Причина 3. Неверное имя модуля (с учетом регистра).

Модули « с учетом регистра » в Linux и macOS, например, если имя модуля установлено в верхнем регистре, а пользователь импортирует его в нижний регистр, тогда « Не могу найти модуль » будет сгенерирована ошибка. Это связано с несоответствием фактического имени модуля и оператора импорта.

Здесь установленный модуль «csvtojson» импортируется в «заглавных буквах» в приложение Node.js:

константа csvtojson '=' требовать ( 'КСВТОЙСОН' ) ;

Запустите файл «.js»:

индекс узла. js

В результате выдается ошибка «Невозможно найти модуль» из-за неправильного имени модуля:

Решение: введите правильное имя модуля.

Решением вышеуказанной ошибки является указание правильного регистра (нижнего или верхнего) импортируемого модуля при использовании « требовать() метод. В этом сценарии модуль «csvtojson» указан в методе «require()» в правильном регистре:

константа csvtojson '=' требовать ( 'csvtojson' ) ;

Запустите файл «.js» еще раз:

индекс узла. js

Теперь приведенная выше команда не вызвала ошибку «Невозможно найти модуль», поскольку регистр импортированного пакета совпадает с его фактическим именем:

Причина 4: Неверное расширение файла.

« Не могу найти модуль » ошибка также может возникнуть из-за « неправильное расширение файла ». Аналогично неправильному пути к файлу это происходит и в случае локальных модулей. Например, локальный модуль создается в файле «.json» и указывается в приложении Node.js с расширением «.js», тогда генерируется указанная выше ошибка:

В этом сценарии « мойМодуль.js », указанный в причине «Неверный путь к модулю», используется в качестве файла образца. Доступ к нему осуществляется в текущем приложении Node.js путем указания его расширения «.json» следующим образом:

константа языки '=' требовать ( './custom-modules/myModule.json' ) ;

Запустите файл «.js»:

индекс узла. js

В результате выдается ошибка «Невозможно найти модуль» из-за неправильного расширения файла «myModule»:

Решение: введите правильное расширение файла.

Решение обсуждаемой ошибки — ввести правильное расширение файла, в котором создан локальный модуль. Например, мы указали правильное расширение файла «myModule.js», чтобы устранить ошибку «Невозможно найти модуль»:

константа языки '=' требовать ( './custom-modules/myModule.js' ) ;

Запустите файл «.js»:

индекс узла. js

Теперь приведенная выше команда была успешно выполнена без отображения ошибки «Невозможно найти модуль»:

Причина 5: Глобальная установка модуля

Модули узлов могут быть установлены локально (для конкретного проекта) или глобально (для всех проектов). В Linux , Если необходимый модуль установлен глобально в операционной системе и доступен в конкретном проекте без локальной установки, то « Не могу найти модуль » выдается ошибка.

Например, « монгодб Модуль ” устанавливается глобально в операционную систему Linux через файл “ sudo npm install -g mongodb ” и доступна локально в конкретном проекте узла:

константа монгодб '=' требовать ( 'монгодб' )

Запустите файл «.js»:

индекс узла. js

В результате выдается обсуждаемая ошибка, поскольку «mongodb» не установлен локально в текущем проекте Node:

Решение: установите модуль локально.

Решением возникшей ошибки является локальная установка модуля для конкретного проекта Node.js в операционной системе на базе Linux.

Здесь « монгодб Модуль устанавливается локально в текущий проект с помощью команды установки «npm»:

npm установить mongodb

Когда локальная установка «mongodb» будет завершена, импортируйте его в файл «.js» и запустите:

индекс узла. js

Видно, что ошибка «Невозможно найти модуль» была устранена путем локальной установки модуля «mongodb» для текущего проекта Node.js:

В Windows глобальная и локальная установка модуля не вызывает ошибку «Невозможно найти модуль».

Причина 6: Отсутствует входной файл

« Не могу найти модуль Ошибка «» также может возникнуть из-за отсутствия основного файла записи в «package.json» модуля. По умолчанию основным входным файлом каждого модуля является файл index.js.

Предположим, если пользователь удалит его непреднамеренно, будет сгенерирована описанная выше ошибка. Это связано с тем, что при импорте указанного модуля « требовать() »Метод переходит к папке этого модуля и ищет точку входа. Если она не существует, он не сможет импортировать этот модуль в приложение Node.js.

Входной файл «index.js» требуемого модуля находится внутри структуры его папок. В приведенном ниже фрагменте показан входной файл модуля «mysql»:

Теперь выделенный выше файл index.js удаляется из папки mysql, а затем импортируется модуль mysql в приложение Node.js:

константа MySQL '=' требовать ( 'mysql' )

Запустите файл «.js»:

индекс узла. js

Здесь выходные данные выдают ошибку «Невозможно найти модуль» из-за отсутствия входного файла модуля «mysql»:

Решение: повторно установите необходимый модуль.

Решением возникшей выше ошибки является удаление файла « node_modules » и снова установите необходимый модуль. Здесь модуль «mysql» устанавливается снова после удаления каталога «node_modules»:

npm установить mysql

После успешной установки «mysql» появится новый « node_modules автоматически создается каталог, содержащий структуру папок модуля «mysql», в котором присутствует «index.js»:

Теперь снова запустите файл «.js»:

индекс узла. js

Здесь выходные данные не выдают ошибку «Невозможно найти модуль» из-за существования входного файла с именем «index.js» модуля «mysql»:

Что делать, если ошибка «Невозможно найти модуль» все еще сохраняется?

Если « Не могу найти модуль » ошибка сохраняется после ее устранения с помощью любого из вышеперечисленных решений, затем удалите « node_modules ' папка. Папка «node_modules» создается автоматически при установке стороннего модуля. Он содержит все сторонние пакеты, от которых зависит проект Node.js.

Более того, « пакет-lock.json » также автоматически генерируется при установке пакета с помощью «npm». Он хранит записи зависимостей, а также подзависимостей, от которых зависит пакет, а также их версий. Если пакет установлен с помощью «yarn», то имя файла — « пряжа.замок ».

Решение. Удалите папку «node_modules» и файл «package-lock.json».

Решение возникшей ошибки — удалить папку «node_modules» и файл «package-lock.json/yarn.lock» и заново установить необходимый пакет.

В Linux , указанную выше папку и файлы можно удалить с помощью нижеуказанной команды « РМ (удалить)» команда:

РМ - пакет RF node_modules - замок. JSON //Удалить папку и файл

лс // Отображение файлов и каталогов

В приведенной выше команде « Флаг ” удаляет указанную папку “ рекурсивно », включая все его подкаталоги и папку « ж флаг сообщает интерпретатору выполнить эту задачу « настойчиво »:

Вывод показывает, что папка «node_modules» и файл «package-lock.json/yarn.lock» полностью удалены из текущего проекта Node.js:

В Windows пользователь может удалить папку «node_modules» и файл «package-lock.json/yarn.lock», просто нажав кнопку « удалить » или используя опцию «Удалить» из раскрывающегося меню.

Вот и все, что касается устранения ошибки «Невозможно найти модуль» в Node.js.

Заключение

Чтобы решить проблему « Не могу найти модуль », «установите необходимый модуль», «укажите правильный путь к нему», «введите правильный регистр в методе «require()», а также «введите правильное расширение файла». Более того, также можно решить «установить модуль локально» в проекте Node.js. Если конкретная ошибка не устранена, удалите папку «node_modules», файл «package-lock.json», а затем снова установите необходимый модуль через «npm/yarn». В этом посте обсуждаются все возможные причины, а также их решение для устранения ошибки «Невозможно найти модуль» с помощью Node.js.