Како решити грешку „Не могу пронаћи модул“ користећи Ноде.јс?

Kako Resiti Gresku Ne Mogu Pronaci Modul Koristeci Node Js



Као и други програмски језици, Ноде.јс не мора да разбије изворни код апликације на мале делове. Записује сав изворни код у „.јс“ датотеку и тумач не изазива никакве проблеме. Међутим, приликом креирања веома сложене Ноде.јс апликације, препоручује се да се изворни код подели на мање модуле, а затим их комбинује у кохезивну апликацију.

Куицк Оутлине

Шта је модул у Ноде.јс?

У Ноде.јс, „ модул ” одговара библиотеци која гради везу са апликацијом на основу њеног контекста. Омогућава програмерима да поново користе инкапсулирани код кад год је то потребно. Категоризован је у три главне категорије: „уграђени“, „локални“ и модули „треће стране“. Ови модули даље садрже широк спектар метода и својстава која изводе операције специфициране у складу са њиховим функционалностима.







Како решити грешку „Не могу пронаћи модул“ користећи Ноде.јс?

Овај одељак наводи све могуће разлоге који генеришу грешку „Модул не могу да пронађем“ и такође нуди изводљива решења за њено решавање:



Разлог 1: Потребан модул није инсталиран

Најчешћи разлог за „ Није могуће пронаћи модул ” Грешка је што је потребно “ модул треће стране није инсталиран ” у тренутном пројекту Ноде.јс. Претпоставимо да увозимо „мискл“ модул треће стране у апликацију Ноде.јс на овај начин:



конст мискл = захтевају ( 'мискл' ) ;

У горњој команди, „ захтевају() ” метода укључује „мискл” модул у тренутну апликацију ноде.јс.





Покрените датотеку „.јс“:

индекс чвора. јс

Доњи излаз генерише дискутовану грешку јер модул „мискл“ није инсталиран у тренутном пројекту Ноде.јс:



Решење: Инсталирајте потребни модул

Решење горе поменуте грешке је правилно инсталирање потребног модула уз помоћ „ нпм / пређе ” менаџер пакета. За овај сценарио, потребан „мискл“ модул се инсталира са „нпм“ инсталационом командом:

нпм инсталл мискл

Излаз показује успешну инсталацију “мискл” модула у тренутном пројекту Ноде.јс:

Сада поново покрените датотеку „.јс“:

индекс чвора. јс

Може се анализирати да је горња команда успешно извршена без генерисања грешке „Не могу пронаћи модул“:

Разлог 2: Нетачна путања модула

Још један разлог за „ Није могуће пронаћи модул “ грешка је “ нетачна путања модула ”. Обично се дешава када корисник увезе локални модул кроз његову релативну путању. Претпоставимо да корисник креира прилагођени модул у одређеној фасцикли и увезе га у апликацију Ноде.јс. Пре него што ово урадите, уверите се да је наведена путања исправна, иначе ће доћи до грешке о којој се расправља.

На пример, локални/кориснички дефинисани модул под називом „ миМодуле ” се налази у фасцикли „./цустом-модулес”:

Корисник увози горе истакнути „миМодуле“ у тренутну апликацију Ноде.јс преко његове релативне путање:

конст језика = захтевају ( './миМодуле' ) ;

Покрените датотеку „.јс“:

индекс чвора. јс

Може се видети да се због погрешне путање „миМодуле“ генерише грешка „Цаннот финд модуле“:

Решење: Наведите тачну путању модула

Решење за горе поменуту грешку је да наведете тачну или тачну путању модула где се налази. Овде смо пренели исправну путању „миМодуле“ да решимо грешку „Не могу пронаћи модул“:

конст језика = захтевају ( './цустом-модулес/миМодуле' ) ;

Покрените датотеку „.јс“:

индекс чвора. јс

Може се приметити да доњи излаз не показује грешку на коју се наишла јер је наведена путања увезеног модула исправљена:

Разлог 3: Нетачан назив модула (разликује велика и мала слова)

Модули су „ Велика и мала слова ” у Линуку и мацОС-у, на пример ако је име модула инсталирано великим словима и корисник га увезе малим словима, а затим „ Није могуће пронаћи модул ” биће генерисана грешка. То је зато што постоји неслагање између стварног назива модула и наредбе за увоз.

Овде се инсталирани модул „цсвтојсон“ увози „великим словима“ у апликацију Ноде.јс:

конст цсвтојсон = захтевају ( 'ЦСВТОЈСОН' ) ;

Покрените датотеку „.јс“:

индекс чвора. јс

Излаз генерише грешку „Не могу пронаћи модул“ због погрешног назива модула:

Решење: Унесите тачан назив модула

Решење за горњу грешку је да наведете тачна мала или велика слова увезеног модула док користите „ захтевају() ” метод. У овом сценарију, модул „цсвтојсон“ је наведен у методи „рекуире()“ у исправном случају:

конст цсвтојсон = захтевају ( 'цсвтојсон' ) ;

Поново покрените датотеку „.јс“:

индекс чвора. јс

Сада, горња команда није генерисала грешку „Не могу пронаћи модул“ јер је случај увезеног пакета исти као његово стварно име:

Разлог 4: Нетачна екстензија датотеке

Није могуће пронаћи модул ” грешка такође може настати због „ нетачна екстензија датотеке ”. Слично погрешној путањи датотеке, то се дешава у случају локалних модула. На пример, локални модул се креира у датотеци „.јсон“ и наводи се у апликацији Ноде.јс са екстензијом „.јс“, а затим се генерише горња одређена грешка:

У овом сценарију, „ миМодуле.јс ” приказан у разлогу „Нетачна путања модула” се узима као пример датотеке. Приступа му се у тренутној апликацији Ноде.јс навођењем екстензије „.јсон“ на следећи начин:

конст језика = захтевају ( './цустом-модулес/миМодуле.јсон' ) ;

Покрените датотеку „.јс“:

индекс чвора. јс

Излаз генерише грешку „Не могу пронаћи модул“ због нетачне екстензије датотеке „миМодуле“:

Решење: Откуцајте исправну екстензију датотеке

Решење за разматрану грешку је да откуцате исправну екстензију датотеке у којој је креиран локални модул. На пример, навели смо исправну екстензију датотеке „миМодуле.јс“ да бисмо решили грешку „Не могу пронаћи модул“:

конст језика = захтевају ( './цустом-модулес/миМодуле.јс' ) ;

Покрените датотеку „.јс“:

индекс чвора. јс

Сада је горња команда успешно извршена без приказивања грешке „Не могу пронаћи модул“:

Разлог 5: Глобална инсталација модула

Модули чвора могу се инсталирати локално (за одређени пројекат) или глобално (за све пројекте). У Линуку , Ако је тражени модул инсталиран глобално у оперативном систему и ако му се приступа у одређеном пројекту без локалне инсталације, тада се „ Није могуће пронаћи модул ” генерише се грешка.

На пример, „ монгодб ” модул се глобално инсталира у Линук оперативни систем преко „ судо нпм инсталл -г монгодб ” и приступа се локално у пројекту специфичног чвора:

конст монгодб = захтевају ( 'монгодб' )

Покрените датотеку „.јс“:

индекс чвора. јс

Излаз генерише грешку о којој се расправља јер „монгодб“ није инсталиран локално у тренутном пројекту Ноде:

Решење: Инсталирајте модул локално

Решење за насталу грешку је локално инсталирање модула за одређени Ноде.јс пројекат на оперативном систему заснованом на Линук-у.

Овде, „ монгодб ” модул се инсталира локално у тренутном пројекту уз помоћ инсталационе команде „нпм”:

нпм инсталл монгодб

Када се заврши локална инсталација „монгодб“-а, увезите га у „.јс“ датотеку и извршите је:

индекс чвора. јс

Може се видети да је грешка „Цаннот финд модуле“ решена локално инсталирањем „монгодб“ модула за тренутни Ноде.јс пројекат:

У Виндовс-у, глобална и локална инсталација модула не генерише грешку „Не могу пронаћи модул“.

Разлог 6: Недостаје улазни фајл

Није могуће пронаћи модул ” такође може бити генерисана грешка због недостатка главне улазне датотеке у „пацкаге.јсон” модула. Главна улазна датотека сваког модула је подразумевано „индек.јс“ датотека.

Претпоставимо, ако га корисник ненамерно уклони онда ће се генерисати горенаведена грешка. То је зато што се током увоза наведеног модула „ захтевају() ” метод иде до фасцикле тог модула и тражи улазну тачку, ако не постоји онда не може да увезе тај модул у апликацију Ноде.јс.

Улазни фајл “индек.јс” потребног модула је присутан унутар његове структуре директоријума. Исечак испод показује улазну датотеку модула „мискл“:

Сада је горе истакнута датотека „индек.јс“ уклоњена из фасцикле „мискл“, а затим увезена „мискл“ модул у апликацију Ноде.јс:

конст мискл = захтевају ( 'мискл' )

Покрените датотеку „.јс“:

индекс чвора. јс

Овде, излаз генерише грешку „Не могу пронаћи модул“ јер недостаје улазна датотека „мискл“ модула:

Решење: Поново инсталирајте потребан модул

Решење за горенаведену грешку је брисање „ ноде_модулес ” и поново инсталирајте потребан модул. Овде се модул „мискл“ поново инсталира након брисања директоријума „ноде_модулес“:

нпм инсталл мискл

Након успешне инсталације „мискл“, нови „ ноде_модулес ” се аутоматски генерише директоријум који садржи структуру фасцикли „мискл” модула у којем је присутан „индек.јс”:

Сада поново покрените датотеку „.јс“:

индекс чвора. јс

Овде излаз не генерише ниједну грешку „Не могу пронаћи модул“ због постојања улазне датотеке под називом „индек.јс“ модула „мискл“:

Шта учинити ако грешка „Не могу пронаћи модул“ и даље постоји?

Ако је „ Није могуће пронаћи модул ” грешка и даље постоји након што је решите било којим од горе наведених решења, а затим избришите „ ноде_модулес ” фолдер. Фасцикла „ноде_модулес“ се аутоматски генерише када се инсталира модул треће стране. Садржи све пакете независних произвођача од којих зависи пројекат Ноде.јс.

Штавише, „ пацкаге-лоцк.јсон ” се такође аутоматски генерише када се пакет инсталира са „нпм”. Он чува евиденцију зависности као и подзависности од којих зависи пакет заједно са њиховим верзијама. Ако је пакет инсталиран са „иарн“ онда је ово име датотеке „ пређе.брава ”.

Решење: Уклоните фасциклу „ноде_модулес“ и датотеку „пацкаге-лоцк.јсон“.

Решење за насталу грешку је да избришете фасциклу „ноде_модулес“ и датотеку „пацкаге-лоцк.јсон/иарн.лоцк“ и поново инсталирате потребан пакет.

У Линуку , горе наведени фолдер и датотеке могу се избрисати уз помоћ доле наведеног „ рм (уклони)” команда:

рм - рф пакет ноде_модулес - закључати. јсон //Избриши фасциклу и датотеку

лс // Прикажи фајл и директоријуме

У горњој команди „ ” заставица брише наведени фолдер “ рекурзивно ” укључујући све његове поддиректоријуме и „ ф ” заставица говори тумачу да изврши овај задатак “ насилно ”:

Излаз показује да су фасцикла „ноде_модулес“ и датотека „пацкаге-лоцк.јсон/иарн.лоцк“ потпуно уклоњени из тренутног пројекта Ноде.јс:

У Виндовс-у , корисник може да избрише фасциклу „ноде_модулес“ и датотеку „пацкаге-лоцк.јсон/иарн.лоцк“ једноставним притиском на „ избрисати ” или помоћу опције „избриши” из падајућег менија.

То је све о решавању грешке „Не могу пронаћи модул“ у Ноде.јс.

Закључак

Да бисте решили „ Није могуће пронаћи модул ” грешка, „инсталирајте потребан модул”, „наведите његову исправну путању”, „укуцајте исправна мала слова у методу „рекуире()”, а такође „унесите исправну екстензију датотеке”. Штавише, такође се може решити да „инсталирате модул локално“ у пројекту Ноде.јс. Ако се одређена грешка настави, уклоните фасциклу „ноде_модулес“, датотеку „пацкаге-лоцк.јсон“, а затим поново инсталирајте потребни модул преко „нпм/иарн“. Овај пост је расправљао о свим могућим разлозима заједно са њиховим решењем за решавање грешке „Цаннот финд модуле“ користећи Ноде.јс.