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。

相关推荐
njsgcs2 分钟前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
江米小枣tonylua2 分钟前
真多线程!Bun作者要给JS大手术
前端
数据知道3 分钟前
视觉伪装(下):WebGL 渲染器与厂商特征的底层伪造与屏蔽
javascript·数据采集·webgl·指纹浏览器
东风破_19 分钟前
JS 数据类型:从八种分类到栈与堆的内存真相
javascript
YIAN20 分钟前
# 从入门到封装:一文搞懂 Fetch API 所有用法(新手友好)
前端·javascript
小林敲代码778821 分钟前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
njsgcs31 分钟前
c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置
开发语言·c#·solidworks
Slice_cy33 分钟前
基于node实现服务端内核引擎
前端·后端
往事随风灬1 小时前
我被 Volta 的“智能”坑了一下午:pnpm 为何无视项目 Node 版本?
前端·vue.js
qq_8573058191 小时前
python语法
开发语言·python·算法