js 模块化

js 模块化

模块化主要是用来抽离公共代码,隔离作用域,避免变量冲突等。

模块化的整个发展历史如下:

IIFE:使用自执行函数来编写模块化,特点:在一个单独的函数作用域中执行代码,避免代码冲突。

js 复制代码
(function () {
  return {
    data: [],
  };
})();

AMD:使用 require 来编写模块化,特点:依赖必须提前声明好。

js 复制代码
define("./index.js", function (code) {
  //code 就是index.js返回的内容
});

CMD:使用 seaJS 来编写模块化,特点:支持动态引入依赖文件。

js 复制代码
define(function (require, exports, module) {
  var indexCode = require("./index.js");
});

CommonJS:nodeJS 中自带的模块化。

js 复制代码
var fs = require("fs");

UMD:兼容 AMD,CommonJS 模块化语法。

webpack(require.ensure):webpack2.x 版本中的代码分割。

ES Modules:ES6 引入的模块化,支持 import 来引入另一个 js。

相关推荐
十里-1 分钟前
前端监控1-数据上报
前端·安全
初学者,亦行者5 分钟前
DevUI微前端集成实战解析
前端·typescript
han_9 分钟前
前端高频面试题之CSS篇(一)
前端·css·面试
덕화9 分钟前
【面试宝典】线上问题逆向分析1
面试·职场和发展
美团程序员10 分钟前
一篇文章教你搞定:”xx 功能如何测试?“常见面试题型!
测试工具·面试·职场和发展·测试用例
ᐇ95910 分钟前
Java集合框架深度实战:构建智能教育管理与娱乐系统
java·开发语言·娱乐
b***748816 分钟前
Vue开源
前端·javascript·vue.js
不知更鸟23 分钟前
前端报错:快速解决Django接口404问题
前端·python·django
梁正雄39 分钟前
1、python基础语法
开发语言·python
D***t1311 小时前
React图像处理案例
前端