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。

相关推荐
Old_Driver_Lee4 分钟前
C语言常用语句
c语言·开发语言
温轻舟8 分钟前
Python自动办公工具05-Word表中相同内容的单元格自动合并
开发语言·python·word·自动化办公·温轻舟
东荷新绿10 分钟前
MATLAB 2018a 安装教程:30分钟搞定安装
开发语言·matlab·matlab2018a
老前端的功夫15 分钟前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化
松涛和鸣39 分钟前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
2***B4491 小时前
Rust在系统编程中的内存安全
开发语言·后端·rust
Running_slave1 小时前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
U***e631 小时前
Rust错误处理最佳实践
开发语言·后端·rust
习习.y1 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
程序员小寒1 小时前
前端高频面试题之CSS篇(一)
前端·css·面试·css3