美文网首页
模块化开发之CMD规范

模块化开发之CMD规范

作者: 这里王工头 | 来源:发表于2019-02-01 12:46 被阅读0次

欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~

1 概念

CMD(Common Module Definition),通用模块定义,它解决的问题和AMD规范是一样的,只不过在模块定义方式和模块加载时机上不同,CMD也需要额外的引入第三方的库文件,SeaJS

2 SeaJS

SeaJS推崇一个模块一个文件

2.1 定义模块

define 是一个全局函数,用来定义模块

语法

define define(id?, deps?, factory)

参数

  • id:可选,字符串类型,模块标识,如果没有提供参数,默认为文件名
  • dependencies:可选,字符串数组,当前模块依赖的模块,CMD 推崇依赖就近
  • factory:回调函数,工厂方法,初始化模块需要执行的函数或对象,如果为函数,它只被执行一次,如果是对象,此对象会作为模块的输出值
// cmd1.js
define(function(require,exports,module){
    // ...
    module.exports={
        // ..
    }
})

// cmd2.js
define(function(require,exports,module){    
    var cmd2 = require('./cmd1') 
    // cmd2.xxx 依赖就近书写
    module.exports={
        // ...
    }
})

除了给 exports 对象增加成员,还可以使用 return 直接向外提供接口

2.2 加载模块

SeaJS提供了seajs.use来加载模块

语法

seajs.use([dependencies], function(){})

参数

  • dependencies:字符串数组,该模块的依赖
  • function:Function类型,所依赖的模块都加载成功之后,回调,依赖的模块会以参数的形式传入该函数,从而在回调函数内部就可以使用这些模块
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script src="sea.js"></script>
        <script src="cmd2.js"></script>
        <script src="cmd1.js"></script>
        <script type="text/javascript">
            seajs.use(['cmd2.js','cmd1.js'],function(cmd2,cmd1){
                // ....
            })
        </script>
    </body>
</html>

3 文章推荐

4 参考文章

相关文章

  • 前端模块化开发总结

    一、模块化开发的作用: 解决命名冲突和文件依赖的问题 二、模块化开发规范: 三、AMD的实现 四、CMD

  • 模块化开发之CMD规范

    欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~ 1 概念 C...

  • (多人合作)怎么避免多人开发时函数重名的问题?

    解决方案1 基于单例模式实现模块化开发, 基于闭包实现模块化开发, 基于cmd, amd, common.js规范...

  • js模块化

    首先梳理一下模块化的发展情况~ 无模块化-->CommonJS规范-->AMD规范-->CMD规范-->ES6模块...

  • 模块化开发

    前端JS模块化开发有两大规范AMD合CMD,下面以我的理解来简单总结一下模块化开发的思想 ,以及js前端常用的AM...

  • js模块化

    js的模块化大致分为4种规范 amd cmd commonjs 和es6模块化 1.amd规范 amd规范又叫异步...

  • 06Vue的前端工程化

    Vue的前端工程化 一 模块化规范 1.1模块化规范举例 浏览器端JS模块化规范:AMD,CMD 服务器端JS模块...

  • 模块化-CommonJs、AMD、CMD、ES6

    在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?模块化是指在解决某一个复杂问题或者一...

  • seajs + jquery 底层封装

    什么是seajs -seajs是一个加载器-遵循 CMD 规范模块化开发,依赖的自动加载、配置的简洁清晰。

  • js模块化规范

    一、js模块化1、模块化规范: script CommonJS AMD CMD ES6 modules 2、scr...

网友评论

      本文标题:模块化开发之CMD规范

      本文链接:https://www.haomeiwen.com/subject/srfdsqtx.html