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。

相关推荐
We་ct5 分钟前
HTML5 原生拖拽 API 基础原理与核心机制
前端·javascript·html·api·html5·浏览器·拖拽
良木生香9 分钟前
【C++初阶】:STL——String从入门到应用完全指南(3)
c语言·开发语言·数据结构·c++·算法
是上好佳佳佳呀10 分钟前
【前端(八)】CSS3 属性值笔记:渐变、自定义字体与字体图标
前端·笔记·css3
踩着两条虫21 分钟前
VTJ:核心引擎
前端·低代码·ai编程
fox_lht27 分钟前
8.3.使用if let和let else实现简明的程序流控制
开发语言·后端·算法·rust
AI玫瑰助手33 分钟前
Python基础:列表的定义、增删改查核心操作
android·开发语言·python
mOok ONSC33 分钟前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
磊 子41 分钟前
类模板与派生1
java·开发语言·c++
GISer_Jing44 分钟前
AI时代前端开发者成长计划
前端·人工智能
:1211 小时前
java面试基础2
java·开发语言·面试