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。

相关推荐
quantdash_cc几秒前
实时行情出现短暂异常时应该怎么处理?从数据校验到故障定位
开发语言·python·数据分析·量化交易·股票数据·quantdash
晓得迷路了3 分钟前
栗子前端技术周刊第 149 期 - Vite+ 1.0、Preact 11、Next.js 16.4...
前端·javascript·react.js
IT_陈寒4 分钟前
为什么我的Vue组件总是莫名其妙更新?
前端·人工智能·后端
狂师6 分钟前
2026年APP自动化测试工具大全,12款主流工具一次看懂
前端·开源·测试
怕浪猫7 分钟前
AI Agent 的安全怎么保障?面试最后一关的终极问题
算法·面试·github
前端一小卒10 分钟前
搜索 API 额度用完返回空数组,Agent 就开始一本正经地胡说
前端·javascript·node.js
zjxtxdy12 分钟前
R语言数据统计入门
开发语言·r语言
乘风gg16 分钟前
Spec Kit vs OpenSpec vs Superpowers:三大 AI Coding 框架深度对比
前端·ai编程·claude
cleble25 分钟前
怎么用用 PowerShell 下载文件
开发语言·php
w2sfot33 分钟前
AI时代,JS加密还有效吗?
开发语言·前端·javascript