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。

相关推荐
wefg14 分钟前
【C++】特殊类设计
开发语言·c++
Geoking.5 分钟前
【Java】Java Stream 中的 collect() 方法详解:流最终操作的核心工具
java·开发语言
z***I39410 分钟前
JavaScript爬虫应用案例
开发语言·javascript·爬虫
帅中的小灰灰15 分钟前
C++编程原型设计模式
开发语言·c++
d***93519 分钟前
Webpack、Vite区别知多少?
前端·webpack·node.js
清风徐来QCQ27 分钟前
javaScript(map,ref,?,forEach,watch)
java·前端·javascript
q***735530 分钟前
windows配置永久路由
android·前端·后端
7***n7530 分钟前
Java构建工具
java·开发语言
前端布鲁伊43 分钟前
再来聊聊,Vue3 项目中 Pinia 的替代方案
前端·面试
u***u6851 小时前
Kotlin多平台开发实践
android·开发语言·kotlin