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。

相关推荐
阿呜的边城几秒前
终于还是吃上了react-i18next的细糠
前端·前端框架
Light607 分钟前
破局“数据孤岛”:构建业务、财务、指标三位一体的智能数据模型
java·大数据·开发语言
米方9 分钟前
ElementPlus 穿梭框支持批量穿梭
前端·javascript·vue.js
InkHeart9 分钟前
uni-app开发路上的坑
前端·vue.js
用户4099322502129 分钟前
Vue3中v-bind:class与v-bind:style如何实现条件样式、组件样式合并与深层响应式管理?
前端·ai编程·trae
guygg889 分钟前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
IMPYLH14 分钟前
Lua 的 warn 函数
java·开发语言·笔记·junit·lua
还算善良_16 分钟前
【Vue】表格实现表头多彩
javascript·vue.js·ecmascript
我是天龙_绍18 分钟前
如何在前端开发中高效运用AI:从提效到避坑
前端
KenXu19 分钟前
从Vue 到 React:Valtio 让状态管理更熟悉
前端