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。

相关推荐
Yiyaoshujuku1 分钟前
化学谱图数据API接口,数据字段一览!
linux·服务器·前端
云絮.3 分钟前
增删改查操作
java·开发语言
themingyi10 分钟前
Abaqus2024安装python包pandas
开发语言·python·pandas
阿正的梦工坊15 分钟前
【Rust】19-FFI、ABI 与跨语言边界设计
开发语言·后端·rust
殇淋狱陌18 分钟前
Python列表知识思维导图
开发语言·python·学习
代码中介商20 分钟前
C++ 智能指针完全指南(三):weak_ptr 与循环引用
开发语言·c++
fox_lht20 分钟前
第十五章 函数式语言:迭代器和闭包
开发语言·后端·学习·算法·rust
dualven_in_csdn27 分钟前
一键起飞调用示例
android·java·javascript
Web极客码28 分钟前
如何通过 Python + LLM 用最少的 Token 完成精准推荐任务
开发语言·人工智能·python·ai
雮尘32 分钟前
LangGraph 与 LangSmith 入门教程(JS/TS 版)
前端·人工智能·langchain