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。

相关推荐
iPadiPhone几秒前
Spring Boot 自动装配原理与 Starter 开发实战
java·spring boot·后端·spring·面试
陈天伟教授几秒前
WEB应用安全与防护 - 实操案例 2:CSRF(跨站请求伪造)—— 伪造用户操作
前端·安全·xss
程序员爱钓鱼2 分钟前
Go字符串与数值转换核心库:strconv深度解析
后端·面试·go
深蓝电商API5 分钟前
爬虫任务调度:APScheduler 定时执行
开发语言·爬虫·python
kang_jin6 分钟前
超详细 Python 爬虫指南
开发语言·爬虫·python
Sylvia-girl8 分钟前
C语言-1入门
c语言·开发语言
Rust语言中文社区9 分钟前
【Rust日报】 CEL与Rust实现接近原生速度的解释执行
开发语言·后端·rust
@PHARAOH11 分钟前
HOW - 依赖包版本 lock 维护策略(pnpm)
前端
C+++Python12 分钟前
C++ 策略模式实战:从原理到落地
开发语言·c++·策略模式
SuperEugene14 分钟前
前端-后端-产品-项目-运维:互联网项目协作全流程解析
运维·前端·javascript