模块化之路

直接定义依赖 1999

闭包模块化 2003

CommonJS 2009 模块化借助于nodeJS正式上场

  1. nodejs
  2. 服务端
  3. 同步加载

AMD 2009

  1. requireJS
  2. 同时兼容浏览器端和服务端
  3. 异步加载,提前加载依赖(即require的时候已经加载了依赖。

CMD seaJS 玉伯

  1. seaJS
  2. 着重于浏览器端
  3. 异步加载,运行到模块的时候才加载。更接近esmodule

UMD 2011

  1. 兼容性语法糖
  2. 优先解析为CommonJS模块机制,其次是Amd模块机制。exports Object

ESModules 2015

  1. es6
  2. 浏览器端实现,node在高版本也有一定支持(实验性)。
  3. 异步加载,运行到模块的时候才加载。

webpack 模块化

  1. 支持各种模块化机制。主要支持CommonJS和ESM。
  2. 浏览器和服务器端都可用。
  3. 同步加载,遵循CommonJS规范。
  4. Code Splitting,本质上是异步创建script节点来达到异步加载资源的目的。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载...
    zhoulujun阅读 2,959评论 0 14
  • 1. 前言 现在的前端开发, 通常是一个单页面应用,每一个视图通过异步的方式加载,这导致页面初始化和使用过程中会加...
    majun00阅读 743评论 0 2
  • 原文链接:http://www.cnblogs.com/lvdabao/p/js-modules-develop....
    舌尖上的大胖阅读 751评论 0 1
  • 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分...
    MapleLeafFall阅读 1,198评论 0 0
  • Wake Up 这是我在看《生命的本相》时在笔记本上画的。 01第一个人:头朝下,脚朝上,眼睛闭着,呈一种漂浮状态...
    笑忘猫猫阅读 600评论 0 0