Node.js가 모듈을 로드하고 모듈 인스턴스를 설치하는 방법에 대한 자세한 설명
Node.js의 모듈은 파일 경로나 이름을 통해 모듈 참조를 얻을 수 있습니다. 모듈 참조는 Node 내장 모듈이 아닌 한 js 파일 경로에 매핑됩니다. Node의 내장 모듈은 일반적으로 사용되는 일부 API를 개발자에게 공개하며 Node 프로세스가 시작될 때 미리 로드됩니다.
NPM을 통해 설치된 타사 모듈이나 로컬 모듈과 같은 기타 모듈은 공개 API를 노출합니다. 개발자가 가져올 수 있도록 합니다. 예를 들어
var mod = require('module_name')
이 문장을 실행한 후 Node는 내장 모듈이나 NPM을 통해 설치된 모듈을 로드합니다. require 함수는 객체를 반환합니다. 객체에 의해 노출되는 API는 함수, 객체 또는 함수, 배열 또는 모든 유형의 JS 객체와 같은 속성일 수 있습니다.
노드 모듈의 로딩 및 캐싱 메커니즘은 다음과 같습니다
1) 내장 모듈(A 코어 모듈) 로드
2) 파일 모듈(A 파일 모듈) 로드
3) 파일 디렉터리 모듈(A 폴더) 로드 Module) )
4) node_modules에 모듈 로드
5) 로드된 모듈 자동 캐시
1. 내장 모듈 로드
Node의 내장 모듈은 바이너리 형식으로 컴파일되며 파일 경로 대신 이름으로 직접 참조됩니다. 타사 모듈이 내장 모듈과 동일한 이름을 갖는 경우 내장 모듈은 동일한 이름으로 타사 모듈을 덮어씁니다. 따라서 이름을 지을 때 내장된 모듈과 이름이 동일하지 않도록 주의해야 합니다. 예를 들어 http 모듈
var http = require('http')
을 얻는 경우 반환되는 http는 HTTP 기능을 구현하는 Node의 내장 모듈입니다.
2. 파일 모듈 로드
절대 경로
var myMod = require('/home/base/my_mod')
또는 상대 경로
var myMod = require('./my_mod')
여기서 확장자 ".js"는 무시됩니다. 다음은 동일합니다.
var myMod = require('./my_mod') var myMod = require('./my_mod.js')
3. 파일 디렉터리 모듈 로드
You
var myMod = require('./folder')
와 같은 폴더라는 이름의 디렉터리가 있다고 가정합니다. 이때 노드는 폴더 디렉터리 전체를 검색합니다. 노드는 해당 폴더가 패키지라고 가정하고 패키지 정의 파일 패키지를 찾으려고 시도합니다. json. 폴더 디렉터리에 package.json 파일이 없으면 Node는 기본 기본 파일이 index.js라고 가정하고 index.js가 로드됩니다. index.js도 존재하지 않으면 로드가 실패합니다.
디렉토리 구조가 다음과 같다면
package.json은 다음과 같이 정의됩니다
{ "name": "pack", "main": "modA.js" }
이때 require('./folder')는 모듈 modA.js를 반환합니다. package.json이 없으면 index.js 모듈이 반환됩니다. index.js도 존재하지 않으면 로딩 예외가 발생합니다.
4. node_modules에 모듈을 로드합니다.
모듈 이름이 경로나 내장 모듈이 아닌 경우 Node는 현재 디렉터리의 node_modules 폴더에서 검색을 시도합니다. 현재 디렉터리의 node_modules를 찾을 수 없으면 Node는 상위 디렉터리의 node_modules에서 검색하고 루트 디렉터리까지 반복합니다.
걱정하지 마세요. npm 명령을 사용하면 node_modules 디렉터리를 쉽게 설치, 제거 및 업데이트할 수 있습니다.
5. 로드된 모듈을 자동으로 캐시합니다.
노드는 매번 다시 검색할 필요 없이 로드된 모듈을 캐시합니다. 다음은 예시입니다
modA.js
console.log('模块modA开始加载...') exports = function() { console.log('Hi') } console.log('模块modA加载完毕')
init.js
var mod1 = require('./modA') var mod2 = require('./modA') console.log(mod1 === mod2)
명령줄 실행:
node init.js
입력은 다음과 같습니다
modA가 두 번 요구되는 것을 볼 수 있습니다. .js 여전히 한 번만 실행됩니다. mod1과 mod2는 동일합니다. 즉, 두 참조 모두 동일한 모듈 객체를 가리킵니다.
위 내용은 Node.js가 모듈을 로드하고 모듈 인스턴스를 설치하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제 해결 Windows 11 시스템이 출시되면서 많은 사용자들이 새로운 기능과 인터페이스를 경험하기 위해 운영 체제를 업그레이드하기 시작했습니다. 그러나 일부 사용자는 업그레이드 후 중국어 언어 팩을 설치할 수 없어 경험에 문제가 있다는 사실을 발견했습니다. 이 기사에서는 Win11 시스템이 중국어 언어 팩을 설치할 수 없는 이유에 대해 논의하고 사용자가 이 문제를 해결하는 데 도움이 되는 몇 가지 솔루션을 제공합니다. 원인 분석 먼저 Win11 시스템의 무능력을 분석해 보겠습니다.

OracleVirtualBox의 가상 머신에 게스트 추가 기능을 설치하지 못할 수도 있습니다. Devices>InstallGuestAdditionsCDImage를 클릭하면 아래와 같이 오류가 발생합니다. VirtualBox - 오류: 가상 디스크를 삽입할 수 없습니다. C: 우분투 시스템에 FilesOracleVirtualBoxVBoxGuestAdditions.iso 프로그래밍 이 게시물에서는 어떤 일이 발생하는지 이해합니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. Virtua에 설치할 수 없는 경우

바이두 넷디스크 설치 파일을 성공적으로 다운로드 받았으나 정상적으로 설치가 되지 않는 경우, 소프트웨어 파일의 무결성에 문제가 있거나, 잔여 파일 및 레지스트리 항목에 문제가 있을 수 있으므로, 본 사이트에서 사용자들이 주의깊게 확인해 보도록 하겠습니다. Baidu Netdisk가 성공적으로 다운로드되었으나 설치가 되지 않는 문제에 대한 분석입니다. 바이두 넷디스크 다운로드에 성공했지만 설치가 되지 않는 문제 분석 1. 설치 파일의 무결성 확인: 다운로드한 설치 파일이 완전하고 손상되지 않았는지 확인하세요. 다시 다운로드하거나 신뢰할 수 있는 다른 소스에서 설치 파일을 다운로드해 보세요. 2. 바이러스 백신 소프트웨어 및 방화벽 끄기: 일부 바이러스 백신 소프트웨어 또는 방화벽 프로그램은 설치 프로그램이 제대로 실행되지 않도록 할 수 있습니다. 바이러스 백신 소프트웨어와 방화벽을 비활성화하거나 종료한 후 설치를 다시 실행해 보세요.

Linux에 Android 애플리케이션을 설치하는 것은 항상 많은 사용자의 관심사였습니다. 특히 Android 애플리케이션을 사용하려는 Linux 사용자의 경우 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 익히는 것이 매우 중요합니다. Linux에서 직접 Android 애플리케이션을 실행하는 것은 Android 플랫폼에서만큼 간단하지는 않지만 에뮬레이터나 타사 도구를 사용하면 여전히 Linux에서 Android 애플리케이션을 즐겁게 즐길 수 있습니다. 다음은 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 소개합니다.

Docker를 사용해 본 적이 있다면 데몬, 컨테이너 및 해당 기능을 이해해야 합니다. 데몬은 컨테이너가 시스템에서 이미 사용 중일 때 백그라운드에서 실행되는 서비스입니다. Podman은 Docker와 같은 데몬에 의존하지 않고 컨테이너를 관리하고 생성하기 위한 무료 관리 도구입니다. 따라서 장기적인 백엔드 서비스 없이도 컨테이너를 관리할 수 있는 장점이 있습니다. 또한 Podman을 사용하려면 루트 수준 권한이 필요하지 않습니다. 이 가이드에서는 Ubuntu24에 Podman을 설치하는 방법을 자세히 설명합니다. 시스템을 업데이트하려면 먼저 시스템을 업데이트하고 Ubuntu24의 터미널 셸을 열어야 합니다. 설치 및 업그레이드 프로세스 중에 명령줄을 사용해야 합니다. 간단한

고등학교에서 공부하는 동안 일부 학생들은 매우 명확하고 정확한 필기를 하며, 같은 수업을 받는 다른 학생들보다 더 많은 필기를 합니다. 어떤 사람들에게는 노트 필기가 취미인 반면, 어떤 사람들에게는 중요한 것에 대한 작은 정보를 쉽게 잊어버릴 때 필수입니다. Microsoft의 NTFS 응용 프로그램은 정규 강의 외에 중요한 메모를 저장하려는 학생들에게 특히 유용합니다. 이 기사에서는 Ubuntu24에 Ubuntu 애플리케이션을 설치하는 방법을 설명합니다. Ubuntu 시스템 업데이트 Ubuntu 설치 프로그램을 설치하기 전에 Ubuntu24에서 새로 구성된 시스템이 업데이트되었는지 확인해야 합니다. 우분투 시스템에서 가장 유명한 "a"를 사용할 수 있습니다

Win7 컴퓨터에 Go 언어를 설치하는 세부 단계 Go(Golang이라고도 함)는 Google에서 개발한 오픈 소스 프로그래밍 언어로, 간단하고 효율적이며 뛰어난 동시성 성능을 갖추고 있으며 클라우드 서비스, 네트워크 애플리케이션 및 개발에 적합합니다. 백엔드 시스템. Win7 컴퓨터에 Go 언어를 설치하면 언어를 빠르게 시작하고 Go 프로그램 작성을 시작할 수 있습니다. 다음은 Win7 컴퓨터에 Go 언어를 설치하는 단계를 자세히 소개하고 특정 코드 예제를 첨부합니다. 1단계: Go 언어 설치 패키지를 다운로드하고 Go 공식 웹사이트를 방문하세요.

Win7 시스템에서 Go 언어를 설치하는 것은 비교적 간단한 작업입니다. 성공적으로 설치하려면 다음 단계를 따르세요. 다음은 Win7 시스템에서 Go 언어를 설치하는 방법을 자세히 소개합니다. 1단계: Go 언어 설치 패키지를 다운로드합니다. 먼저 Go 언어 공식 웹사이트(https://golang.org/)를 열고 다운로드 페이지로 들어갑니다. 다운로드 페이지에서 Win7 시스템과 호환되는 설치 패키지 버전을 선택하여 다운로드하세요. 다운로드 버튼을 클릭하고 설치 패키지가 다운로드될 때까지 기다립니다. 2단계: Go 언어 설치
