首页 web前端 js教程 关于AMD和CMD以及UMD三种模块的规范以及写法格式详解

关于AMD和CMD以及UMD三种模块的规范以及写法格式详解

Jul 24, 2017 pm 01:40 PM
写法 格式 规范

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

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

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

CommonJs:node 的支持格式

//    文件名: foo.js
var $ = require('jquery');
var _ = require('underscore');
 
//    methods
function 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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在苹果笔记中使用块引号 如何在苹果笔记中使用块引号 Oct 12, 2023 pm 11:49 PM

如何在苹果笔记中使用块引号

pptm是什么格式 pptm是什么格式 Jan 11, 2021 pm 02:46 PM

pptm是什么格式

m3u8是什么格式 m3u8是什么格式 Feb 20, 2023 pm 01:38 PM

m3u8是什么格式

ink是什么文件格式 ink是什么文件格式 Feb 03, 2023 pm 02:32 PM

ink是什么文件格式

qq邮箱格式怎么写 qq邮箱格式是什么样的 qq邮箱格式怎么写 qq邮箱格式是什么样的 Feb 22, 2024 pm 03:40 PM

qq邮箱格式怎么写 qq邮箱格式是什么样的

cr3是什么格式文件 cr3是什么格式文件 Jun 23, 2021 pm 03:22 PM

cr3是什么格式文件

exb是什么格式文件 exb是什么格式文件 Mar 10, 2021 pm 03:02 PM

exb是什么格式文件

rtf是什么格式 rtf是什么格式 Jan 30, 2023 pm 02:35 PM

rtf是什么格式

See all articles