node.js 에서 require 방법 에 대한 로드 규칙 을 자세히 설명 합 니 다.

require 방법의 로드 규칙
캐 시 에서 우선 불 러 오기핵심 모듈
경로 형식의 모듈
제3자 모듈
1.캐 시 에서 우선 불 러 오기
main.js:로 딩 a.js 모듈 실행

require('./a')
a.js:b.js 모듈 을 불 러 오고 출력 a 가 불 러 왔 습 니 다.

require('./b')
console.log('a.js     ')
b.js:출력 b 가 불 러 왔 습 니 다.

console.log('b.js     ')
결과:
在这里插入图片描述
이 를 통 해 알 수 있 듯 이 main 은 a.js 를 불 러 오고 a.js 를 불 러 오 는 과정 에서 a.js 를 두 번 인쇄 하지 않 았 습 니 다.Node 는 require.cache 에서 들 어 오 는 id 에 따라 이 대상 의 exports 값 을 직접 꺼 내 고 이 모듈 코드 를 다시 실행 하지 않 습 니 다.
2.핵심 모듈
핵심 모듈 의 본질 도 파일 입 니 다.핵심 모듈 파일 은 바 이 너 리 파일 에 컴 파일 되 었 습 니 다.이름 에 따라 불 러 오기 만 하면 됩 니 다.예:
  • require(‘fs')
  • require(‘http')
  • 3.경로 형식의 모듈
    우리 가 말 하 는 경로 형식의 모듈 은 사실은 자신 이 쓴 JS 파일 을 불 러 오 는 것 입 니 다.네 가지 방법 으로 불 러 올 수 있 습 니 다.
    
    var fooExports = require('./index')	//    ,  
    var fooExports = require('../index')	//    ,  
    var fooExports = require('/index')	//   ,   
    var fooExports = require('D:/demo/index')	//   ,   
    
    4.제3자 모듈
    4.567917.제3자 모듈 을 사용 할 경우 npm 를 통 해 다운로드 해 야 합 니 다
  • 사용 시 require('가방 이름')방식 으로 불 러 와 야 사용 할 수 있 습 니 다
  • 4.567917.제3자 가방 과 핵심 모듈 의 이름 이 같 을 수 없습니다핵심 모듈 도 경로 형식의 모듈 도 아 닌 제3자 모듈 이다.로 딩 방식 은 다음 과 같 습 니 다.
    var template=require('art-template')를 예 로 들 면:
    현재 파일 이 있 는 디 렉 터 리 의 node 를 먼저 찾 습 니 다.modules 디렉토리
  • 그리고 다음 과 같은 방식 으로 파일 의 main 속성 을 찾 습 니 다
  • main 속성 에 art-template 의 입구 모듈 이 기록 되 어 있 습 니 다4.567917.그리고 이 제3자 가방 을 불 러 옵 니 다.그러나 실제 적 으로 불 러 온 것 은 파일 입 니 다패키지.json 파일 이 존재 하지 않 거나 main 에서 지정 한 입구 모듈 도 없습니다
  • node 는 이 디 렉 터 리 에 있 는 index.js 를 자동 으로 찾 습 니 다.즉,index.js 는 기본 설정 으로 사용 합 니 다
  • 상기 모든 조건 이 성립 되 지 않 으 면 이전 디 렉 터 리 에 있 는 node 에 들 어 갑 니 다.modules 디 렉 터 리 찾기
  • 4.567917.만약 에 상급 이 없 으 면 계속 상급 으로 찾 아 라
  • 현재 디스크 루트 디 렉 터 리 를 찾 지 못 할 때 까지 마지막 으로 오류 보고:can not find module xxx
  • 제3자 모듈 찾기 순서:  node_modules/art-template   >    package.json 파일   >   주 속성>   index.js
    node.js 에서 require 방법 에 대한 로 딩 규칙 에 대한 자세 한 설명 은 여기까지 입 니 다.node.js require 방법 으로 규칙 내용 을 불 러 오 는 방법 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기