>  기사  >  웹 프론트엔드  >  CommonJS의 자세한 예

CommonJS의 자세한 예

零下一度
零下一度원래의
2017-07-21 09:16:361900검색

1. CommonJS

  • 는 서버 측 모듈러 프로그래밍에 사용됩니다. 예를 들어 nodejs는 이 사양을 채택합니다.

  • 파일은 모듈을 로드하는 데 사용됩니다. 그리고 이를 실행합니다.

  • require는 기본적으로 .js 파일을 읽으므로

  • 접미사를 사용하여 작성할 필요가 없습니다. , 서버에 의해 로드된 모듈은 일반적으로 로컬이므로 이렇게 될 수 있습니다. 그러나 클라이언트 측에서는 모듈이 너무 크면 페이지가 "가짜 사망"을 초래할 수 있습니다. 속성은 현재 모듈의 외부 출력 인터페이스를 나타내고 다른 파일은 실제로 module.exports 변수를 읽는 모듈을 로드합니다. 또한 내보내기를 사용할 수도 있습니다. 즉, 내보내기 = 모듈입니다. 내보내기 = {}

  • exports.xxx는 호출 모듈에 표시되는 내보낸 객체에 특성을 추가하는 것과 동일합니다. ;

  • exports = 내보내기를 재할당하는 것과 동일하며, 이는 모듈과의 연결을 끊습니다. 호출 모듈은 내보내기의 개체 및 속성에 액세스할 수 없습니다.

  • loading module :require([module], function(module){}); Define([module], function(module){});

require.js(프론트 엔드 모듈형 관리 도구 라이브러리)는 웹 페이지가 응답하지 않는 것을 방지하기 위해 비동기식 로딩을 구현합니다. 코드 작성 및 유지 관리를 용이하게 하기 위한 모듈 간의 종속성.

  • 종속성 사전 위치 지정, 모듈 종속성 블록을 가능한 한 빨리 실행합니다. 실행 순서는 반드시 1이 먼저이고 그 다음이 2가 아닙니다.

  • 비표준 모듈 로드

require.config({
    baseUrl: "js/lib",
    paths: {"jquery": "jquery.min",
    "underscore": "underscore.min",
    "backbone": "backbone.min"  },
    shim: {'underscore':{
            exports: '_'   },
   'backbone': {
    deps: ['underscore', 'jquery'],
    exports: 'Backbone'   }
 }
});
// exports值(输出的变量名),表明这个模块外部调用时的名称;deps数组,表明该模块的依赖性
  • 3.
  • define(function(require, exports, module){
        var a = require('a');
        a.foo();
    };
  • Sea.js

  • 종속 모듈이 실제로 필요할 때만 종속 모듈이 실행되며, 순서가 고정되어 있습니다.

      AMD와 CMD의 가장 큰 차이점은; 종속 모듈의 실행 타이밍이 로드되는 것이 아니라 타이밍이나 방법이 다르기 때문에 둘 다 모듈을 비동기적으로 로드합니다.
    • AMD는 프런트 엔드에 의존하므로 js는 종속 모듈이 누구인지 쉽게 알 수 있습니다. , 그리고 즉시 로드합니다. CMD는 근처 종속성에 의존하지만 모듈을 사용하여 문자열로 변환하고 다시 구문 분석해야 합니다. 그제서야 어떤 모듈에 의존했는지 알 수 있었습니다

    위 내용은 CommonJS의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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