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。

相关推荐
闲坐含香咀翠2 分钟前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
xiaopang3 分钟前
小红书小组件(miniwidget)开发实战:单页面viewState切换架构
前端
labixiong8 分钟前
告别scroll 监听:CSS 滚动驱动动画,主线程堵死也仍跟手
前端·css·html
用户3028225306813 分钟前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
云析赢指标公式网416 分钟前
文华WH6布林轨道均线强弱共振指标公式
前端·算法
承渊政道18 分钟前
【Python编程—从入门到实践】(Python字典:从基础语义到现代工程实践)
开发语言·python·pycharm·字典·嵌套
许彰午31 分钟前
34-安全复盘96个问题
前端·vue.js·安全
luj_176838 分钟前
一线一区一变破解人盯人防守密码
开发语言·网络·c++·经验分享·算法
妙码生花1 小时前
PHP 各框架下和 Go 的性能比较
前端·后端·go
名字还没想好☜1 小时前
Python 字符编码实战:encode/decode、UnicodeDecodeError 与 open 的 encoding 坑
开发语言·后端·python·编程语言