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。

相关推荐
寻寻觅觅☆4 分钟前
东华OJ-基础题-127-我素故我在(C++)
开发语言·c++·算法
2301_796512525 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Swipe 轮播(用于循环播放一组图片或内容)
javascript·react native·react.js·ecmascript·harmonyos
ab1515175 分钟前
2.13完成101、102、89
开发语言·c++·算法
切糕师学AI6 分钟前
NFS(网络文件系统)详解
开发语言·网络·php
芝士爱知识a10 分钟前
[2026深度测评] AI期权交易平台推荐榜单:AlphaGBM领跑,量化交易的新范式
开发语言·数据结构·人工智能·python·alphagbm·ai期权工具
overmind10 分钟前
oeasy Python 113 内置函数sorted中使用 reverse和key
开发语言·python
大时光13 分钟前
gsap 配置解读 --7
前端
黎潇lulu20 分钟前
Java运算符基础知识
java·开发语言
HAPPY酷24 分钟前
C++中类常见的函数分类
java·开发语言·c++
念念不忘 必有回响32 分钟前
前端判断文本是否溢出:单行与多行场景的完整解析
前端·javascript·css·vue.js