commonjs , amd , es6
1765 단어 전단
ES6 완 일 봉:http://es6.ruanyifeng.com/#docs/module
commonjs : CommonJS 가 정의 하 는 모듈 은 {모듈 참조 (require)} {모듈 정의 (exports)} {모듈 표지 (module)} 로 나 뉘 어 서버 에 사 용 됩 니 다.
require
동기 화 입 니 다.이 서버 쪽 은 문제 가 되 지 않 습 니 다. 모든 모듈 이 로 컬 하 드 디스크 에 저장 되 어 있 기 때문에 동시에 불 러 올 수 있 습 니 다. 대기 시간 은 하 드 디스크 의 읽 기 시간 입 니 다.그러나 브 라 우 저 에 대해 서 는 모듈 이 서버 에 놓 여 있 기 때문에 대기 시간 은 네트워크 속도 의 속도 에 달 려 있 고 오래 기 다 려 야 할 수도 있 으 며 브 라 우 저 는 '가사' 상태 에 있 습 니 다.브 라 우 저 엔 드 모듈 은 '동기 화 로드' (synchronous) 를 사용 할 수 없고 '비동기 로드' (asynchronous) 만 사용 할 수 있 습 니 다.이것 이 바로 AMD 규범 이 탄생 한 배경 이다.amd: AMD 도 require () 문 구 를 불 러 오 는 모듈 을 사용 하여 규범 을 작성 합 니 다. require ([module], callback); 모듈 은 특정한 define () 함수 로 정의 해 야 합 니 다.한 모듈 이 다른 모듈 에 의존 하지 않 는 다 면 define () 함수 에 직접 정의 할 수 있 습 니 다.
es6:
export
와 import
.export
명령 은 모듈 의 대외 인터페이스 에 사용 되 고 import
명령 은 다른 모듈 이 제공 하 는 기능 을 입력 하 는 데 사용 된다.역사적 으로 자바 스 크 립 트 는 모듈 (module) 시스템 이 없어 서 큰 프로그램 을 서로 의존 하 는 작은 파일 로 나 누 어 간단 한 방법 으로 조립 할 수 없 었 다.다른 언어 는 모두 이런 기능 을 가지 고 있다. 예 를 들 어 Ruby 의
require
, Python 의 import
, 심지어 CSS 도 @import
가 있 지만 자 바스 크 립 트 는 이런 분야 의 지원 이 없 기 때문에 대형 하고 복잡 한 프로젝트 를 개발 하 는 데 큰 장 애 를 형성 했다.ES6 에 앞서 지역 사 회 는 일부 모듈 로드 방안 을 제 정 했 는데 가장 중요 한 것 은 CommonJS 와 AMD 두 가지 가 있다.전 자 는 서버 에 사용 되 고 후 자 는 브 라 우 저 에 사용 된다.ES6 는 언어 표준 차원 에서 모듈 기능 을 실 현 했 고 상당히 간단하게 구현 되 어 CommonJS 와 AMD 규범 을 완전히 대체 하여 브 라 우 저 와 서버 에 통용 되 는 모듈 솔 루 션 이 될 수 있다.
ES6 모듈 의 디자인 사상 은 가능 한 한 정태 화 되 어 컴 파일 할 때 모듈 의 의존 관계 와 입 출력 변 수 를 확정 할 수 있 도록 하 는 것 이다.CommonJS 와 AMD 모듈 은 모두 실행 할 때 만 이 물건 들 을 확인 할 수 있 습 니 다.예 를 들 어 CommonJS 모듈 은 대상 이 고 입력 할 때 대상 속성 을 찾 아야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
전단 자동화 워 크 플 로 의 hooks예 를 들 어 우 리 는 git commt 전에 eslint 코드 검사, npm install 전에 프로젝트 의존 도 를 검사 하고 싶 습 니 다.전형 적 인 상황 에서 각종 도 구 는 특정한 동작 이 발생 할 때 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.