引子:

前端开发模块化,这个概念从我接触前端开发就一直看到,但是一直没好好的梳理这其中的概念,直到最近才感觉对这其中的概念是很陌生而熟悉。因此记此梳理里面的一些名词。

模块化:

整个web的发展越来越快,涉及到的东西以及要处理的越来越多,于是我们的JS代码就越来越大,自然越来越混乱,就容易出错。因此,我们把代码阉割了。嗯,没错,就是我们把这个大西瓜切成很多块,所以每个程序员都可以自己选择一块,然后吃一块,不再是一个大西瓜一人吃一口了(这样大家就不会在吃的时候相互间咬到嘴了)。

模块化开发规范:

在吃西瓜的时候我们知道了,我们可以把西瓜切开,但是怎么切?这就是模块化开发规范需要做的事了,现在的模块化规范有CommonJs,AMD,CMD和ES6里的模块化。记住这些规范就是帮你正确切西瓜的理论方案。

commonJs:

它是一个同步模式,不太适用于前端端,主要是为了JS在后端的表现制定。它定义了三个模块:关于实现模块引用的require,关于实现模块定义的exports,关于实现模块标识的module,Node 应用由模块组成,就是采用了 CommonJS 模块规范。 具体见阮一峰老师的详解:点击打开链接。

AMD:

AMD异步加载所需的模块,主要为JS在前端的表现制定。它只定义了一个模块:define。不论是AMD还是commonJs都是JS模块化开发的规范,不同就是前者适用于服务器端,后者适用于浏览器端。

CMD:

嗯,阿里巴巴玉伯提出的规范,他写的seaJS就是遵从了这个规范。

requireJS:

requireJS就是AMD规范现在用的最流行的实际实现,而上面说的seaJS也就是是CMD规范的实现了。

结束:

具体关于这些规范和执行的内容我也没有去看过,但是关于JS模块化开发的这些概念名词就是这些。东西也很简单,但是当Google前端模块化开发,然后弹出一堆博文时会感觉很乱。记下来不仅是为了分享,也是为了看到自己的不足让自己不断的补充,学习。

浅谈前端JS模块化开发的概念相关推荐

  1. 浅谈Vue.js模块化开发

    前言 模块化最近很火,博主刚给公司的iOS应用项目做了组件化改造.但组件化的思想最早还是来源于前端,前端模块化很早就开始了,无论是 require.js,browserify 进行模块化打包, 还是 ...

  2. 「offer来了」浅谈前端面试中开发环境常考知识点

    「面试专栏」前端面试之开发环境篇

  3. 2022浅谈前端八大UI库

    之前在3月份的时候做过一个<浅谈前端八大UI库>的公开课,反馈还不错,当时就想着等有时间了,就把公开课讲的东西,组织成一个博客.这一等,就等了两个多月. 先说一下什么样的同学适合看这个博客 ...

  4. 浅谈前端自动化构建 -- Grunt、Gulp、FIS

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:内容较多,建议通过左侧导航栏进行阅读 前端自动化构建 基本介绍 一切重复工作本应自动化.将开发中的源代码,自动化的转换成生产环境中可以运行的程序, ...

  5. 浅谈Vue.js的优势

    写在前面 今天小梦跟小伙伴们简简单单聊一下Vue.js的优势.小梦也是刚刚接触Vue.js,在学习一门新的技术之前,我们当然要了解其优势,知道优势在哪更加有利于我们去学习并转换为自己的储备. 浅谈Vu ...

  6. Js模块化开发的理解

    Js模块化开发的理解 模块化是一个语言发展的必经之路,其能够帮助开发者拆分和组织代码,随着前端技术的发展,前端编写的代码量也越来越大,就需要对代码有很好的管理,而模块化能够帮助开发者解决命名冲突.管理 ...

  7. Node.js模块化开发(非常详细,满满的干货)

    下面是对Node.js模块化开发的整理,西洼港可以帮助到有需要的小伙伴~ 文章目录 Node.js模块化开发 JavaScript开发弊端 Node.js模块化开发 模块成员导出的export方法 模 ...

  8. python相关职业-浅谈Python全栈开发工程师,让程序员都眼红的职业!

    原标题:浅谈Python全栈开发工程师,让程序员都眼红的职业! Python Python 的排名从去年开始就借助人工智能与独特的魅力持续上升,现在它已经成为了第一名. 与其它编程语言相比所占的优势 ...

  9. 模块加载及第三方包:Node.js模块化开发、系统模块、第三方模块、package.json文件、Node.js中模块的加载机制、开发环境与生产环境、cookie与session

    1.Node.js模块化开发 1.1 JavaScript开发弊端 JavaScript 在使用时存在两大问题,文件依赖和命名冲突. 1.2 软件中的模块化开发 一个功能就是一个模块,多个模块可以组成 ...

最新文章

  1. php写实体类,PHP实体类
  2. ecs加解密_ECS云盘加密
  3. Django URL
  4. SPI四种工作模式时序图
  5. [BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)(内涵peak小知识)
  6. 暑假做题记录【实时更新】
  7. 百度地图iOS API
  8. mysql not default_MySQL的not null default
  9. python模块介绍-Tornado:Tornado中文文档-概述
  10. 计算机二级宏相关例题,计算机等级考试二级Access练习题
  11. 乐播投屏显示服务器错误是什么意思,乐播投屏怎么用 乐播投屏常见问题汇总分享...
  12. java ajax sendrequest()请求_AJAX – 向服务器发送请求 | 菜鸟教程
  13. java文件gzip解压_如何在Java中解压缩GZip文件?
  14. 光功率 博科交换机_交换机是否支持查看光模块型号及收发光功率
  15. 团队任务3:第一次冲刺(Alpha)
  16. [日常] win10系统设置电脑从不休眠睡眠
  17. html5网页中用video标签无法播放MP4视频的解决方法
  18. ES6-字符串的扩展
  19. App推广拉新的6大方式,你都玩得转吗?
  20. 超市服务器的维护和管理,超市管理系统的设计与实现

热门文章

  1. Oracle之行转列pivot函数
  2. HashMap 什么时候进行扩容呢
  3. kafka-offset手动提交和自动提交
  4. 如何在word中插入比较好看的代码
  5. SpringBoot 构建ORM框架
  6. win10 不想更新咋整
  7. URL传参遇到的问题
  8. Qt编写的RTSP播放器+视频监控(ffmpeg版本)
  9. 山东大学软件工程2019计算机图形学试题
  10. 网页前端培训笔记(HTML标签)