前端模块化发展历史(commonJS、AMD、CMD、UMD、ES6不含webpack)

写在前面

JavaScript发展之初,只是为了解决基础的表单验证问题,以及基础的页面交互,代码非常简单,不存在模块化的概念和问题。但是随着ajax的发展,web进入2.0时代,JavaScript成为一门应用非常广泛的语言。

这个时候js作为一门嵌入型语言,劣势就展示出来了,没有一个权威的规范,问题总是要解决,在前端发展的这几十年,也就顺势而为的产生了很多的js规范。

前端模块化

一、函数

在最早的js中,想要实现分模块开发,最简单的就是函数,因为函数能形成一个相对封闭的空间,通过函数来实现简单的模块化也是最早的解决方案

function model1 = {
    
}

function model2 = {

}

缺点:

1、污染全局作用域
2、维护成本高(命名容易冲突)
3、依赖关系不明显

二、对象

对象里面可以包含属性和方法,就相当于一个容器了,我们可以把每个模块的代码写到一个对象里面,从而实现模块化的目的

var model1 = {
    age: 11,
    say() {
        console.log(age)
    }
}

var model2 = {
    age: 15,
    say() {
        console.log(age)
    }
}

缺点





上一篇:搭建清晰的前端技术体系


下一篇:ES6--CommonJs和es6的Module的区别