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。

相关推荐
songroom17 分钟前
Kimi K3:Rust封装XTP接口详细教程实践
开发语言·后端·rust
瑞瑞小同学25 分钟前
处理echarts x轴内容过多,重叠问题
前端·javascript·echarts
kebeiovo27 分钟前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang
HexCIer31 分钟前
面向未来的原子化 CSS:UnoCSS 核心架构分析与 Tailwind CSS 现状
前端·css·vite
迷途呀1 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp
程序员黑豆1 小时前
鸿蒙应用开发中的单位详解:px、vp、fp、lpx
前端·harmonyos
Herbert_hwt1 小时前
建立Java程序开发
java·开发语言
像我这样帅的人丶你还1 小时前
MCP + npm:给五年前的老系统接上AI
前端·javascript·agent
南一Nanyi1 小时前
依赖注入和控制反转
前端·设计模式·nestjs
小村儿1 小时前
连载14-实战篇--一个半月,我一个人和 Claude Code 搭出一套数字人工程
前端·后端·ai编程