Javascript AMD 모듈 화 규범

2079 단어 JavaScript
AMD 는 'Asynchronous Module Definition' 의 줄 임 말로 '비동기 모듈 정의' 를 뜻한다.
모듈 정의 define (id?, dependencies?, factory);그 중:
  • id: 모듈 표지, 생략 할 수 있 습 니 다.
  • dependencies: 의존 하 는 모듈 은 생략 할 수 있 습 니 다.
  • factory: 모듈 의 실현 또는 자바 스 크 립 트 대상.

  • 코드 예제 1: 알파 모듈 을 정의 합 니 다. require, exports, 베타 모듈 에 의존 합 니 다.
    define("alpha", ["require", "exports", "beta"], function (require, exports, beta) {
    
         exports.verb = function() {
    
             return beta.verb();
    
             //Or:
    
             return require("beta").verb();
    
         }
    
    }); 

     
    코드 예시 2: 알파 모듈 에 의존 하 는 익명 모듈 을 정의 합 니 다.
    define(["alpha"], function (alpha) {
    
        return {
    
            verb: function(){
    
                return alpha.verb() + 2;
    
            }
    
        };
    
    });
    
    

     
    코드 예제 3: JSON 을 사용 하여 의존 하지 않 는 익명 모듈 을 정의 합 니 다.
     define({
    
       add: function(x, y){
    
         return x + y;
    
       }
    
     });

     
    코드 예제 4: Modules / Wrappings 모듈 화 규범 을 호 환 하 는 익명 모듈 을 정의 합 니 다.
    Modules / Wrappings 는 CommonJS Modules 의 브 라 우 저 엔 드 솔 루 션 입 니 다.AMD 규범 호 환 Modules / Wrappings.
    define(function (require, exports, beta) {
    
        exports.verb = function() {
    
            return beta.verb();
    
            //Or:
    
            return require("beta").verb();
    
        }
    
    });

     
    모듈 로 딩 require ([module], callback)
    AMD 모듈 화 규범 에 서 는 전역 또는 국부 적 인 require 함 수 를 사용 하여 하나 이상 의 모듈 을 불 러 오고 모든 모듈 이 불 러 온 후의 리 셋 함 수 를 실현 합 니 다.
    그 중:
  • [module]: 하나의 배열 입 니 다. 안의 구성원 은 불 러 올 모듈 입 니 다.
  • callback: 모듈 로 딩 이 완 료 된 후의 리 셋 함수 입 니 다.

  • 코드 예제: math 모듈 을 불 러 온 다음 방법 math. add (2, 3) 를 호출 합 니 다.
    require(['math'], function (math) {
    
     math.add(2, 3);
    
    });  

    관련 링크:
    https://github.com/seajs/seajs/issues/269http://www.cnblogs.com/snandy/archive/2012/03/09/2386092.htmlhttp://www.zhihu.com/question/20351507http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.htmlhttp://seajs.org/docs/#docs

    좋은 웹페이지 즐겨찾기