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数组,表明该模块的依赖性
define(function(require, exports, module){ var a = require('a'); a.foo(); };
Sea.js
AMD는 프런트 엔드에 의존하므로 js는 종속 모듈이 누구인지 쉽게 알 수 있습니다. , 그리고 즉시 로드합니다. CMD는 근처 종속성에 의존하지만 모듈을 사용하여 문자열로 변환하고 다시 구문 분석해야 합니다. 그제서야 어떤 모듈에 의존했는지 알 수 있었습니다
위 내용은 CommonJS의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!