>웹 프론트엔드 >프런트엔드 Q&A >JavaScript의 모듈 사양은 무엇입니까?

JavaScript의 모듈 사양은 무엇입니까?

青灯夜游
青灯夜游원래의
2022-02-18 18:30:023221검색

JavaScript 모듈 사양에는 다음이 포함됩니다. 1. CommonJS 사양 2. AMD(Asynchronous Module Definition) 사양 3. CMD(Common Module Definition) 사양(AMD와 CommonJS의 혼합)

JavaScript의 모듈 사양은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

CommonJS, AMD(Asynchronous Module Definition), CMD(Common Module Definition)의 세 가지 일반적인 JavaScript 모듈 사양이 있습니다.

서버: NodeJS 서비스: CommonJS 사양, 새 버전의 Node에서는 ES6 모듈 기능도 활성화할 수 있습니다

브라우저 측면: 주로 ES6 모듈

모듈형 사양

1으로 대체된 AMD 사양 및 CMD 사양을 사용합니다. CommonJS 사양

(1) 모든 파일은 모듈이며 각 모듈은 독립적인 범위를 갖습니다. 파일의 변수와 함수는 비공개이며 다른 파일에서 사용할 수 없습니다(전역에 할당되지 않은 경우). (2) 각 모듈 내에서 모듈 변수는 현재 모듈을 나타냅니다. (3) 각 파일의 외부 인터페이스는 module.exports 속성입니다. (4) require는 다른 모듈을 참조하는 데 사용되며 실제로 얻은 것은 다른 모듈의 module.exports 속성입니다

2. AMD(Asynchromous Module Definition - 비동기 모듈 정의)

AMD는 RequireJS의 승격 프로세스

에서 모듈 정의의 표준화된 출력

을 사용하여 모듈 정의 정의(id?, 종속성?, 공장) 모듈 로드 require([module], callback)

3. CMD (Common Module Definition)

CMD는 SeaJS

Use

모듈 정의의 표준화된 출력입니다. 정의(공장) 모듈 로드 require(id)

4. UMD (AMD와 CommonJS의 조합)

UMD는 먼저 Node.js를 지원하는 모듈(내보내기)이 있는지 확인하고, 있으면 Node.js 모듈을 사용합니다. 방법.

AMD 지원 여부(정의 존재 여부)를 판단할 때 존재하는 경우 AMD 방식을 사용하여 모듈을 로드합니다.

(function (window, factory) {
    if (typeof exports === 'object') {
     
        module.exports = factory();
    } else if (typeof define === 'function' && define.amd) {
     
        define(factory);
    } else {
     
        window.eventUtil = factory();
    }
})(this, function () {
    //module ...
});

【관련 추천: javascript 학습 튜토리얼

위 내용은 JavaScript의 모듈 사양은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.