当前位置: 首页 > article >正文

前端模块化开发

模块化发展历程

  1. 一个模块单独抽离成一个文件,(缺点: 命名冲突,全靠约定)
  2. 命名空间的方式,导出一个对象(确定:命名冲突还是存在,可在外部修改,没解决依赖关系的问题)
  3. 立执行函数(闭包,只能在将对象挂载到全局,通过传参解决依赖问题。jQuery就是基于这种方式实现)
    这三种是早起没有工具和规范的时候的解决方式

AMD

AMD规范,requirejs的规范 (异步的模块定义规范)
AMD规范

CommomJS

node 使用的CommomJS规范 是以同步的方式加载文件
CommomJS规范

CMD 规范

在JavaScript中,CMD代码规范是指模块定义规范,它是Asynchronous Module Definition的缩写,即异步模块定义。CMD规范主要用于sea.js这种模块加载器。

现在使用的ES Modules + node下使用CommonJS

es Modules

ES Modules 在html中的使用

ES Modules 在html中的使用
在这里插入图片描述

ES Modules 导入导出

export const PI = '3.14';
export default {
    a: 123
}
import  obj, { PI } from './index'

统一导出时可以使用便捷写法

export { default as Button, PI } from './index'

polyfill

让旧版浏览器兼容ES Modules的写法。ie中可能还不兼容promise,单独处理一下
polyfill浏览器兼容


http://www.kler.cn/a/273905.html

相关文章:

  • AIA - APLIC之三(附APLIC处理流程图)
  • 【搜索】【推荐】大 PK
  • 【问题】配置 Conda 与 Pip 源
  • 基于FPGA的出租车里程时间计费器
  • Sam Altman发布博客,回顾OpenAI九年历程,直言目标已瞄准ASI超级人工智能
  • 鸿蒙的APP真机调试以及发布
  • QT6实现创建与操作sqlite数据库(一)
  • 【ZooKeeper】1、基本介绍
  • 计算机网络的组成
  • Linux下安装多个nodejs并映射Jenkins
  • 【HTTP】面试题整理
  • 5.1.7.1、【AI技术新纪元:Spring AI解码】Mistral AI函数调用
  • PHP反序列化--_wakeup()绕过
  • 蓝桥杯刷题(十一)
  • 面试算法-52-对称二叉树
  • C语言 实用调试技巧
  • python循环结构
  • 面试经典150题(114-118)
  • Java后端八股----JVM篇
  • python入门(二)
  • jQuery+CSS3自动轮播焦点图特效源码
  • c++ 正则表达式处理语言文本,根据标点符号分割句子
  • Java编程——赌数游戏
  • 使用 CSS 实现毛玻璃效果
  • centos防火墙firewall-cmd限定特定的ip访问
  • 算法笔记p154最大公约数和最小公倍数