科技知识动态:关于AMD和CMD以及UMD三种模块的规范以及写法格式详解

导读跟大家讲解下有关关于AMD和CMD以及UMD三种模块的规范以及写法格式详解,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说关于A

跟大家讲解下有关关于AMD和CMD以及UMD三种模块的规范以及写法格式详解,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说关于AMD和CMD以及UMD三种模块的规范以及写法格式详解,小编也收集到了有关关于AMD和CMD以及UMD三种模块的规范以及写法格式详解的相关资料,希望大家看到了会喜欢。

一下三块均以 foo.js 为示例文件名,以 jQuery,underscore 为需求组件

ADM:异步模块规范, RequireJs 的支持格式

// 文件名: foo.jsdefine(['jquery', 'underscore'], function ($, _) {// 方法function a(){}; // 私有方法,因为没有被返回(见下面)function b(){}; // 公共方法,因为被返回了function c(){}; // 公共方法,因为被返回了 // 暴露公共方法 return { b: b, c: c }});

CommonJs:node 的支持格式

// 文件名: foo.jsvar $ = require('jquery');var _ = require('underscore'); // methodsfunction a(){}; // 私有方法,因为它没在module.exports中 (见下面)function b(){}; // 公共方法,因为它在module.exports中定义了function c(){}; // 公共方法,因为它在module.exports中定义了 // 暴露公共方法module.exports = { b: b, c: c};

UMD:通用模式,支持以上两种格式,切可以支持老式的 “全局变量” 规范

(function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery', 'underscore'], factory); } else if (typeof exports === 'object') { // Node, CommonJS之类的 module.exports = factory(require('jquery'), require('underscore')); } else { // 浏览器全局变量(root 即 window) root.returnExports = factory(root.jQuery, root._); }}(this, function ($, _) { // 方法 function a(){}; // 私有方法,因为它没被返回 (见下面) function b(){}; // 公共方法,因为被返回了 function c(){}; // 公共方法,因为被返回了 // 暴露公共方法 return { b: b, c: c }}));

以上就是关于AMD和CMD以及UMD三种模块的规范以及写法格式详解的详细内容,更多请关注php中文网其它相关文章!

来源:php中文网

免责声明:本文由用户上传,如有侵权请联系删除!