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

Js面试题:说一下js的模块化?

    作用

        一个模块就是实现某个特定功能的文件,在文件中定义的变量、函数、类都是私有的,对其他文件不可见。

        为了解决引入多个js文件时,出现 命名冲突、污染作用域 等问题

    AMD

        浏览器端模块解决方案

        AMD即是“异步模块定义”

        在AMD规范中,我们使用define定义模块,使用require加载模块

        提前执行:它采用异步方式加载模块,一边加载一边执行

        依赖前置:依赖必须在定义时引入

    CMD

        浏览器端模块解决方案

        CMD即是“通用模块定义”

        在CMD规范中,我们使用define定义模块,使用require加载模块

        延迟执行:它采用异步方式加载模块,先加载完毕再按需执行

        依赖就近:依赖可以在代码的任意一行引入

    CommonJS

        服务器端模块解决方案

        在CommonJS规范中,我们使用module.exports导出模块,使用require加载模块

        立即执行:它采用同步方式加载模块,先加载后执行,执行完毕会被缓存

        依赖就近:依赖可以在代码的任意一行引入

    ESModule

        浏览器端 和 服务器端 通用的模块解决方案

        在ESModule规范中,我们使用export导出模块,使用import加载模块

        延迟执行:它采用异步方式加载模块,先加载完毕再按需执行

        依赖就近:依赖可以在代码的任意一行引入

http://www.lryc.cn/news/228577.html

相关文章:

  • 媒体转码软件Media Encoder 2024 mac中文版功能介绍
  • 整治PPOCRLabel中cv2文件读取问题(更新中)
  • 网络运维Day09-补充
  • 【C++】【Opencv】minMaxLoc()函数详解和示例
  • 用Go实现网络流量解析和行为检测引擎
  • Mysql数据备份 — mysqldump
  • vue使用Echarts5实现词云图
  • 带有密码的Excel只读模式,如何取消?
  • Linux下基本操作命令
  • JVS低代码表单自定义按钮的使用说明和操作示例
  • C++--二叉树经典例题
  • 软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?
  • Ubuntu搭建AI画图工具stable diffusion-webui
  • 智能优化算法(一):伪随机数的产生
  • python 调用Oracle有返回参数的存储过程
  • 700. 二叉搜索树中的搜索
  • GO学习之 互斥锁、读写锁该如何取舍
  • Internet的特点
  • Rust4.2 Common Collections
  • 芸鹰蓬飞:抖音投流以后还有自然流量吗?
  • CTFhub-RCE-php://input
  • RISC-V处理器设计(五)—— 在 RISC-V 处理器上运行 C 程序
  • 【PIE-Engine 数据资源】全球250米LAI产品
  • vcomp120.dll丢失怎么办?vcomp120.dll丢失的解决方法分享
  • linux下使用Docker Compose部署Spug实现公网远程访问
  • 【STM32 CAN】STM32G47x 单片机FDCAN作为普通CAN外设使用教程
  • Apache Log4j2漏洞
  • 超级干货:光纤知识总结最全的文章
  • PyCharm因安装了illuminated Cloud插件导致加载项目失败
  • 微服务拆分的一些基本原则