node. js require 방법

2696 단어
require 파일 을 불 러 오 는 코드
간단하게 다음 과 같은 몇 가 지 를 요약 한다.
  • require. js,. json,. node 접 두 사 를 불 러 올 수 있 는 파일
  • require 의 과정 이 동기 화 되 었 기 때문에 잘못된 것 입 니 다.
  • setTimeout(() => {
      module.exports = { a: 'hello' };
    }, 0);
    

    require 이 파일 은 빈 대상 {} 을 얻 었 습 니 다.
  • require 의 디 렉 터 리 메커니즘:
  • 첫 번 째 방법 은 루트 디 렉 터 리 에 package. json 파일 을 만 들 고 main 모듈 을 지정 하 는 것 입 니 다.예, package. json 파일 유사:
  • { "name" : "app",
      "main" : "./lib/app.js" }
    

    이것 이... / app 디 렉 터 리 에 있다 면 require ('/ app') 는... / app / lib / app. js 를 불 러 오 려 고 합 니 다.이것 이 바로 Node. js 가 package. json 파일 을 처리 하 는 방식 입 니 다.메모: package. json 에서 "main" 입구 에 지정 한 파일 이 존재 하지 않 으 면 해석 할 수 없습니다. Node. js 는 모듈 을 존재 하지 않 는 것 으로 보고 기본 오 류 를 던 집 니 다.
    Error: Cannot find module 'some-library'
    
  • 디 렉 터 리 에 package. json 파일 이 없 으 면 Node. js 는 디 렉 터 리 에 있 는 index. js 나 index. node 파일 을 불 러 오 려 고 합 니 다.위의 예 에 package. json 파일 이 없 으 면 require ('/ app') 는 불 러 오 려 고 합 니 다.
  • ./app/index.js
  • ./app/index.node

  • require 파일 모듈
  • 정확 한 파일 이름 으로 모듈 을 찾 지 못 하면 Node. js 는. js,. json 또는. node 확장 명 을 가지 고 다시 불 러 오 려 고 시도 합 니 다.
  • . js 파일 은 JavaScript 텍스트 파일 로,. json 파일 은 JSON 텍스트 파일 로 해 석 됩 니 다.node 파일 은 dlopen 을 통 해 불 러 온 컴 파일 된 플러그 인 모듈 로 분 석 됩 니 다.
  • '/' 를 접두사 로 하 는 모듈 은 파일 의 절대 경로 입 니 다.예 를 들 어 require ('/ home / app / app. js') 는 / home / app / app. js 파일 을 불 러 옵 니 다.
  • '. /' 를 접두사 로 하 는 모듈 은 require () 를 호출 하 는 파일 에 비해 서 입 니 다.즉, circle. js 는 app. js 와 같은 디 렉 터 리 에서 require ('/ circle') 가 찾 을 수 있 도록 해 야 합 니 다.
  • '/', '/' 또는 '.. /' 로 시작 하지 않 았 을 때 이 모듈 은 핵심 모듈 이거 나 node 에서 불 러 와 야 합 니 다.modules 디 렉 터 리.주어진 경로 가 존재 하지 않 으 면 require () 는 code 속성 을 'MODULE' 로 던 집 니 다.NOT_FOUND 의 오류.

  • require 의 캐 시 메커니즘
  • 모듈 은 처음 불 러 온 후에 캐 시 됩 니 다.이것 은 (다른 캐 시 시스템 과 유사) 매번 require ('app') 를 호출 할 때마다 같은 파일 로 해석 하면 같은 대상 으로 돌아 간 다 는 것 을 의미한다.
  • require (app) 를 여러 번 호출 하면 모듈 의 코드 가 여러 번 실행 되 지 않 습 니 다.이것 은 중요 한 특성 이다.모듈 을 여러 번 실행 하려 면 함 수 를 내 보 내 고 이 함 수 를 호출 할 수 있 습 니 다.주의사항:
  • 모듈 은 해 석 된 파일 이름 을 기반 으로 캐 시 됩 니 다.호출 모듈 의 위치 가 다 르 기 때문에 모듈 은 서로 다른 파일 이름 으로 분 석 될 수 있 습 니 다.
  • 또한 대소 문 자 를 구분 하지 않 는 파일 시스템 이나 운영 체제 에서 서로 다른 파일 이름 으로 해석 되 어 같은 파일 을 가리 킬 수 있 지만 캐 시 는 서로 다른 모듈 로 보고 여러 번 다시 불 러 옵 니 다.예 를 들 어 require ('/ app') 와 require ('/ APP') 는 두 개의 서로 다른 대상 을 되 돌려 줍 니 다. / app 과. / APP 가 같은 파일 인지 아 닌 지 는 상관 하지 않 습 니 다.

  • 좋은 웹페이지 즐겨찾기