Node ESM 새 프로젝트 도입

1922 단어 node.js자바 script
2019 년 3 월 29 일 현재 노드 의 ES6 모듈 지원 은 또 새로운 진전 을 보이 고 있다.새로운 PR 이 현재 --experimental-modules 구현 방안 을 업데이트 했다.
type 동적 판단 모듈 로드 모드
업 데 이 트 된 프로젝트 는 package.json 파일 에서 지정 한 type 값 에 따라 js 파일 이 ESM 을 사용 하 는 지 comonjs 를 사용 하 는 지 판단 합 니 다.
  • type 의 값 이 module 이면 js 파일 은 ESM 으로 불 러 옵 니 다
  • type 의 값 이 comonjs 라면 js 파일 은 comonjs 로 불 러 옵 니 다
  • 장점 은 .mjs 전통 적 인 js 확장자 와 다른 표기 법 을 사용 할 필요 가 없다 는 것 이다.
    flag 지정 입구 파일 모듈 로 딩 모드 사용
    업 데 이 트 된 방안 은 개발 자가 --entry-type=type 방식 으로 입구 파일 의 해석 방식 을 지정 할 수 있 도록 합 니 다. 판단 행 위 는 package.json type 과 일치 합 니 다.
    새 확장자 지원. cjs
    새로운 확장자 .cjs 는 module 모드 의 로드 환경 에서 comonjs 를 사용 하여 확장자 .cjs 모듈 을 불 러 오 는 것 을 표시 합 니 다.
    모듈 로드 방식 이 변경 되 었 습 니 다.
    새로운 flag: --es-module-specifier-resolution=[type] 의 기본 값 은 explicit 이 고 선택 가능 한 값 node 입 니 다. 기본 값 의 경우 모듈 을 도입 할 때 확장 자 를 써 야 합 니 다.
    This implies that ./x will only ever import exactly the sibling file "x" without appending paths or extensions. "x" is never resolved to x.mjs or x/index.mjs (or the .js equivalents).
    예 를 들 어 여기에 ./x 모듈 을 불 러 오 면 기본적으로 x 라 는 모듈 만 불 러 옵 니 다. 불 러 오 려 고 시도 하 는 것 이 아 닙 니 다 x.mjs 또는 x/index.mjs제안 은 다음 과 같 습 니 다:https://github.com/GeoffreyBo...
    ESM 모드 에서 json 파일 불 러 오기--experimental-json-loader flag 는 ESM 모드 에서 JSON 파일 을 불 러 올 수 있 습 니 다.
    가 져 온 json 파일 은 제 공 된 json 파일 의 내용 을 대상 이나 배열 로 변환 합 니 다.그냥 JSON 모듈 parse 를 통과 한 것 처럼.
    main type 의 값 에 따라 입구 파일 로드 모드 확인package.json 파일 의 main 필드 에 입구 파일 을 지정 하고 type 필드 에 따라 comonjs 인지 ESM 모드 로 불 러 옵 니 다.
    참고:
  • https://github.com/nodejs/nod...
  • https://github.com/GeoffreyBo...

  • 제 구독 번 호 를 주목 해 주세요. JS 와 관련 된 기술 문장 을 비정 기적 으로 푸 시 하고 기술 만 이야기 하 며 팔 괘 는 이야기 하지 않 습 니 다.

    좋은 웹페이지 즐겨찾기