이 글에서는 누구나 사용할 수 있는 자바스크립트의 모듈화에 대해 설명합니다.
AMD는 RequireJS 승격 과정에서 모듈 정의의 표준화된 출력입니다.
모듈을 비동기적으로 로드하고, 미리 의존하고, 미리 실행합니다.
정의 모듈 정의 Define(['require','foo'],function(){return});
로딩 모듈 필요(종속성 사전) require(['foo','bar'],function(foo,bar){});
CMD는 SeaJS 승격 과정에서 표준화된 모듈 정의 출력입니다.
정의 정의 내보내기 내보내기 정의(function(require,exports,module){}) 모듈은 현재 모듈에 일부 객체를 저장합니다.
require(./a)가 직접 도입되었습니다. Require.async는 비동기적으로 도입되었습니다.
동기 로딩, 근처 종속성, 실행 지연.
SeaJS 애플리케이션
공식 시작 예: http://seajs.org/docs/#quick-start
SeaJS 모듈을 작성하는 방법은 무엇입니까?
// 所有模块都通过 define 来定义 define(function(require, exports, module) { // 通过 require 引入依赖 var $ = require('jquery'); var Spinning = require('./spinning'); // 通过 exports 对外提供接口 exports.doSomething = ... // 或者通过 module.exports 提供整个接口 module.exports = ... });
페이지에 모듈 로드
//在 hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码: // seajs 的简单配置 seajs.config({ base: "../sea-modules/", alias: { "jquery": "jquery/jquery/1.10.1/jquery.js" } }) // 加载入口模块 seajs.use("../static/hello/src/main")
이상은 JavaScript 모듈화에 대한 간략한 소개입니다. JavaScript 모듈화를 배우는 모든 분들에게 도움이 되길 바랍니다.