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。

相关推荐
回忆2012初秋7 分钟前
C# 中的 EAP:基于事件的异步编程全面指南(一)
开发语言·c#
ty_xiumud9 分钟前
以太网 MAC 详解:帧格式、位序、FCS 与收发流程
开发语言·macos·php
MartinYeung524 分钟前
npm爆发大规模供应链攻击 蠕虫污染 2000+ 个包版本: 深度技术剖析
前端·npm·node.js
huabuyu25 分钟前
治好 AI 长回答的卡、闪、膨胀:渲染开销从 50 万次砍到 1000
前端·javascript
Asize27 分钟前
无状态 Stateless:大模型为什么记不住你是谁
javascript·人工智能·架构
嘟嘟071728 分钟前
学了 useContext 还是不理解?从 prop drilling 到 useMouse 的一次完整复盘
前端·javascript·react.js
玉宇夕落29 分钟前
React useContext 与自定义 Hook —— 从零到一理解跨组件通信与状态共享
前端
涛涛ing30 分钟前
一行命令让AI帮你修性能问题:perfpatch正在改变前端优化的游戏规则
前端
huabuyu32 分钟前
模型吐到一半的 JSON 为什么不崩、不卡、不抖?流式 Function Call 的三层修复
前端·javascript
触底反弹35 分钟前
JS 运行原理与 Event Loop:从 Web Worker 实战说起
前端·javascript·react.js