Node.js를 사용하여 '모듈을 찾을 수 없습니다' 오류를 해결하는 방법은 무엇입니까?

Node Jsleul Sayonghayeo Modyul Eul Chaj Eul Su Eobs Seubnida Olyuleul Haegyeolhaneun Bangbeob Eun Mueos Ibnikka



다른 프로그래밍 언어와 마찬가지로 Node.js는 애플리케이션 소스 코드를 작은 조각으로 나눌 필요가 없습니다. 모든 소스 코드를 '.js' 파일에 작성하며 인터프리터는 아무런 문제도 일으키지 않습니다. 그러나 매우 복잡한 Node.js 애플리케이션을 만드는 동안 소스 코드를 더 작은 모듈로 나눈 다음 이를 응집력 있는 애플리케이션으로 결합하는 것이 좋습니다.

빠른 개요

Node.js의 모듈이란 무엇입니까?

Node.js에서는 “ 기준 치수 ”는 컨텍스트를 기반으로 애플리케이션과의 연결을 구축하는 라이브러리에 해당합니다. 이를 통해 개발자는 필요할 때마다 캡슐화된 코드를 재사용할 수 있습니다. 이는 '내장', '로컬' 및 '타사' 모듈의 세 가지 주요 범주로 분류됩니다. 이러한 모듈에는 해당 기능에 따라 지정된 작업을 수행하는 광범위한 메서드와 속성도 포함되어 있습니다.







Node.js를 사용하여 '모듈을 찾을 수 없습니다' 오류를 해결하는 방법은 무엇입니까?

이 섹션에서는 '모듈을 찾을 수 없습니다' 오류를 생성하는 가능한 모든 이유를 나열하고 이를 해결하기 위한 실행 가능한 솔루션도 제공합니다.



이유 1: 필수 모듈이 설치되지 않음

'라는 가장 일반적인 이유는 다음과 같습니다. 모듈을 찾을 수 없습니다 ' 오류는 필수 ' 타사 모듈이 설치되지 않았습니다. ” 현재 Node.js 프로젝트에 있습니다. 다음과 같은 방식으로 Node.js 애플리케이션에서 타사 'mysql' 모듈을 가져온다고 가정해 보겠습니다.



const mysql = 필요하다 ( '마이SQL' ) ;

위 명령에서 ' 필요하다() ” 메소드에는 현재 node.js 애플리케이션에 대한 “mysql” 모듈이 포함됩니다.





'.js' 파일을 실행합니다:

노드 인덱스. JS

아래 출력은 현재 Node.js 프로젝트에 'mysql' 모듈이 설치되지 않았기 때문에 논의된 오류를 생성합니다.



해결 방법: 필수 모듈 설치

위에서 논의한 오류에 대한 해결책은 '의 도움으로 필요한 모듈을 올바르게 설치하는 것입니다. npm / '패키지 관리자. 이 시나리오에서는 필수 'mysql' 모듈이 'npm' 설치 명령을 사용하여 설치됩니다.

npm은 MySQL을 설치

출력은 현재 Node.js 프로젝트에 'mysql' 모듈이 성공적으로 설치되었음을 보여줍니다.

이제 '.js' 파일을 다시 실행하십시오.

노드 인덱스. JS

'모듈을 찾을 수 없습니다' 오류가 발생하지 않고 위 명령이 성공적으로 실행된 것으로 분석될 수 있습니다.

이유 2: 잘못된 모듈 경로

'라는 또 다른 이유 모듈을 찾을 수 없습니다 ' 오류는 ' 잘못된 모듈 경로 '. 이는 일반적으로 사용자가 상대 경로를 통해 로컬 모듈을 가져올 때 발생합니다. 사용자가 특정 폴더에 사용자 정의 모듈을 생성하고 이를 Node.js 애플리케이션으로 가져온다고 가정해 보겠습니다. 이 작업을 수행하기 전에 지정된 경로가 올바른지 확인하십시오. 그렇지 않으면 논의된 오류가 발생합니다.

예를 들어, '라는 이름의 로컬/사용자 정의 모듈은 내 모듈 '는 './custom-modules' 폴더에 있습니다.

사용자는 위에 강조 표시된 'myModule'을 상대 경로를 통해 현재 Node.js 애플리케이션으로 가져옵니다.

const 언어 = 필요하다 ( './myModule' ) ;

'.js' 파일을 실행합니다:

노드 인덱스. JS

'myModule'의 잘못된 경로로 인해 '모듈을 찾을 수 없습니다' 오류가 생성되는 것을 볼 수 있습니다.

해결 방법: 올바른 모듈 경로 지정

위에 논의된 오류에 대한 해결책은 해당 오류가 위치한 모듈의 올바른 경로 또는 정확한 경로를 지정하는 것입니다. 여기서는 '모듈을 찾을 수 없습니다' 오류를 해결하기 위해 'myModule'이라는 올바른 경로를 전달했습니다.

const 언어 = 필요하다 ( './custom-modules/myModule' ) ;

'.js' 파일을 시작합니다:

노드 인덱스. JS

가져온 모듈의 지정된 경로가 수정되었기 때문에 아래 출력에는 발생한 오류가 표시되지 않는 것을 볼 수 있습니다.

이유 3: 잘못된 모듈 이름(대소문자 구분)

모듈은 “ 대소문자 구분 '(예: 모듈 이름이 대문자로 설치되어 있고 사용자가 이를 소문자로 가져오는 경우)은 ' 모듈을 찾을 수 없습니다 '라는 오류가 발생합니다. 이는 실제 모듈 이름과 import 문이 일치하지 않기 때문입니다.

여기서는 설치된 “csvtojson” 모듈을 Node.js 애플리케이션에 “대문자”로 가져옵니다.

const csvtojson = 필요하다 ( 'CSVTOJSON' ) ;

'.js' 파일을 실행합니다:

노드 인덱스. JS

잘못된 모듈 이름으로 인해 출력에서 ​​'모듈을 찾을 수 없습니다' 오류가 생성됩니다.

해결 방법: 올바른 모듈 이름을 입력하세요.

위의 오류에 대한 해결책은 ' 필요하다() ' 방법. 이 시나리오에서는 'csvtojson' 모듈이 'require()' 메서드에 올바른 경우로 지정됩니다.

const csvtojson = 필요하다 ( 'csvtojson' ) ;

'.js' 파일을 다시 실행하세요.

노드 인덱스. JS

이제 가져온 패키지 케이스가 실제 이름과 동일하기 때문에 위 명령은 '모듈을 찾을 수 없습니다' 오류를 생성하지 않았습니다.

이유 4: 잘못된 파일 확장자

모듈을 찾을 수 없습니다 ' 오류는 ' 때문에 발생할 수도 있습니다. 잘못된 파일 확장자 '. 잘못된 파일 경로와 유사하게 로컬 모듈의 경우에도 발생합니다. 예를 들어, 로컬 모듈이 '.json' 파일에 생성되고 '.js' 확장자를 사용하여 Node.js 애플리케이션에 지정되면 위의 특정 오류가 생성됩니다.

이 시나리오에서는 “ myModule.js '잘못된 모듈 경로' 이유에 표시된 ''이 샘플 파일로 사용되었습니다. 다음과 같이 확장명 “.json”을 지정하여 현재 Node.js 애플리케이션에서 액세스됩니다.

const 언어 = 필요하다 ( './custom-modules/myModule.json' ) ;

'.js' 파일을 실행합니다:

노드 인덱스. JS

'myModule' 파일의 잘못된 파일 확장자로 인해 출력에서 ​​'모듈을 찾을 수 없습니다' 오류가 생성됩니다.

해결 방법: 올바른 파일 확장자를 입력하세요.

논의된 오류에 대한 해결책은 로컬 모듈이 생성되는 올바른 파일 확장자를 입력하는 것입니다. 예를 들어, '모듈을 찾을 수 없습니다' 오류를 해결하기 위해 'myModule.js' 파일의 올바른 파일 확장자를 지정했습니다.

const 언어 = 필요하다 ( './custom-modules/myModule.js' ) ;

'.js' 파일을 실행합니다:

노드 인덱스. JS

이제 '모듈을 찾을 수 없습니다' 오류가 표시되지 않고 위 명령이 성공적으로 실행되었습니다.

이유 5: 모듈의 전역 설치

노드 모듈은 로컬(특정 프로젝트의 경우) 또는 전역(모든 프로젝트의 경우)에 설치할 수 있습니다. 리눅스에서 , 필요한 모듈이 운영 체제에 전역적으로 설치되고 로컬 설치 없이 특정 프로젝트에서 액세스되는 경우 ' 모듈을 찾을 수 없습니다 ” 오류가 발생합니다.

예를 들어, “ 몽고디비 ' 모듈은 '를 통해 Linux 운영 체제에 전체적으로 설치됩니다. sudo npm 설치 -g mongodb ” 명령을 실행하고 특정 노드 프로젝트에서 로컬로 액세스됩니다.

const 몽고디비 = 필요하다 ( '몽고디비' )

'.js' 파일을 실행합니다:

노드 인덱스. JS

'mongodb'가 현재 Node 프로젝트에 로컬로 설치되지 않았기 때문에 출력에서는 논의된 오류를 생성합니다.

해결 방법: 로컬로 모듈 설치

발생한 오류에 대한 해결 방법은 Linux 기반 운영 체제의 특정 Node.js 프로젝트에 대해 로컬로 모듈을 설치하는 것입니다.

여기서는 “ 몽고디비 ' 모듈은 'npm' 설치 명령을 사용하여 현재 프로젝트에 로컬로 설치됩니다.

npm은 mongodb를 설치합니다.

'mongodb'의 로컬 설치가 완료되면 '.js' 파일로 가져와서 실행합니다.

노드 인덱스. JS

현재 Node.js 프로젝트에 대해 로컬로 'mongodb' 모듈을 설치하면 '모듈을 찾을 수 없습니다' 오류가 해결되었음을 알 수 있습니다.

윈도우에서는 모듈의 전역 및 로컬 설치에서는 '모듈을 찾을 수 없습니다' 오류가 생성되지 않습니다.

이유 6: 항목 파일 누락

모듈을 찾을 수 없습니다 ” 오류는 모듈의 “package.json”에 기본 항목 파일이 누락되어 발생할 수도 있습니다. 각 모듈의 주요 항목 파일은 기본적으로 “index.js” 파일입니다.

사용자가 실수로 제거하면 위와 같은 오류가 발생한다고 가정합니다. 이는 지정된 모듈을 가져오는 동안 ' 필요하다() ” 메소드는 해당 모듈의 폴더로 이동하여 진입점을 찾습니다. 진입점이 없으면 해당 모듈을 Node.js 애플리케이션으로 가져올 수 없습니다.

필수 모듈의 항목 파일 'index.js'가 해당 폴더 구조 내에 있습니다. 아래 스니펫은 'mysql' 모듈의 항목 파일을 보여줍니다.

이제 위에 강조 표시된 'index.js' 파일이 'mysql' 폴더에서 제거된 다음 'mysql' 모듈을 Node.js 애플리케이션으로 가져옵니다.

const mysql = 필요하다 ( '마이SQL' )

'.js' 파일을 실행합니다:

노드 인덱스. JS

여기서 출력은 'mysql' 모듈의 항목 파일이 누락되어 '모듈을 찾을 수 없습니다' 오류를 생성합니다.

해결 방법: 필수 모듈을 다시 설치

위에서 발생한 오류에 대한 해결책은 ' node_modules ” 디렉토리를 선택하고 필요한 모듈을 다시 설치하십시오. 여기서는 'node_modules' 디렉터리를 삭제한 후 'mysql' 모듈이 다시 설치됩니다.

npm은 MySQL을 설치

'mysql'을 성공적으로 설치한 후 새로운 ' node_modules 'index.js'가 있는 'mysql' 모듈의 폴더 구조를 포함하는 '디렉토리가 자동으로 생성됩니다.

이제 “.js” 파일을 다시 실행하세요.

노드 인덱스. JS

여기서 출력은 'mysql' 모듈의 'index.js'라는 항목 파일이 존재하기 때문에 '모듈을 찾을 수 없습니다' 오류를 생성하지 않습니다.

'모듈을 찾을 수 없습니다' 오류가 계속 지속되면 어떻게 해야 합니까?

만약 “ 모듈을 찾을 수 없습니다 위 해결 방법 중 하나로 문제를 해결한 후에도 ' 오류가 지속되면 ' node_modules ' 폴더. 타사 모듈이 설치되면 'node_modules' 폴더가 자동으로 생성됩니다. 여기에는 Node.js 프로젝트가 의존하는 모든 타사 패키지가 포함되어 있습니다.

게다가 “ 패키지-lock.json ” 파일은 “npm”으로 패키지를 설치하면 자동으로 생성됩니다. 패키지가 버전과 함께 의존하는 하위 종속성뿐만 아니라 종속성도 기록합니다. 패키지가 'yarn'으로 설치된 경우 이 파일 이름은 ' 원사.자물쇠 '.

해결 방법: 'node_modules' 폴더와 'package-lock.json' 파일을 제거하세요.

발생한 오류에 대한 해결 방법은 'node_modules' 폴더와 'package-lock.json/yarn.lock' 파일을 삭제하고 필요한 패키지를 다시 설치하는 것입니다.

리눅스에서 , 위에서 지정한 폴더와 파일은 아래에 명시된 ' RM (제거)” 명령:

RM - rf node_modules 패키지 - 잠그다. JSON //폴더 및 파일 삭제

ㅋㅋㅋ // 파일 및 디렉터리 표시

위 명령에서 “ -아르 자형 ' 플래그는 지정된 폴더를 삭제합니다 ' 재귀적으로 ” 모든 하위 디렉토리와 “ 에프 ” 플래그는 인터프리터에게 이 작업을 수행하라고 지시합니다. ':

출력에는 'node_modules' 폴더와 'package-lock.json/yarn.lock' 파일이 현재 Node.js 프로젝트에서 완전히 제거되었음을 보여줍니다.

윈도우에서 , 사용자는 간단히 '를 눌러 'node_modules' 폴더와 'package-lock.json/yarn.lock' 파일을 삭제할 수 있습니다. 삭제 ” 키를 누르거나 드롭다운 메뉴에서 “삭제” 옵션을 사용하세요.

이것이 Node.js의 '모듈을 찾을 수 없습니다' 오류를 해결하는 것입니다.

결론

'를 해결하려면 모듈을 찾을 수 없습니다 ' 오류, '필요한 모듈 설치', '올바른 경로 지정', 'require()' 메서드에 올바른 대소문자를 입력하고 '올바른 파일 확장자를 입력하세요'도 있습니다. 게다가 Node.js 프로젝트에서는 '모듈을 로컬에 설치'하는 것으로 해결될 수도 있습니다. 특정 오류가 지속되면 'node_modules' 폴더, 'package-lock.json' 파일을 제거한 다음 'npm/yarn'을 통해 필요한 모듈을 다시 설치하십시오. 이 게시물에서는 Node.js를 사용하여 '모듈을 찾을 수 없습니다' 오류를 해결하기 위한 솔루션과 함께 가능한 모든 이유를 논의했습니다.