前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CommonJS、CMD、AMD、ES6 Module

CommonJS、CMD、AMD、ES6 Module

作者头像
六个周
发布2022-10-28 11:44:10
3770
发布2022-10-28 11:44:10
举报
文章被收录于专栏:六个周

CommonJS

  • CommonJS 一般用于服务端,Nodejs 与 webpack 就是 CommonJS 的主要实践者。
  • 四个重要的变量为模块化提供支持:module、exports、require、global。
  • 用 module.exports=value 或者 exports.xxx = value 来定义当前模块对外输出的接口,使用 require 加载模块。
  • 在 CommonJS 中,一个文件就是一个模块,每个文件拥有单独的作用域,不会污染全局作用域。
  • CommonJS 不适用浏览器是因为:此规范是同步加载模块,对于服务器端来说,所有的模块都是在本地磁盘,等待模块时间就是硬盘读取文件时间,很小,但对浏览器而言,设计到网速、代理等原因,同步加载会造成阻塞,浏览器处于“假死”状态,所以浏览器端出现了 AMD 规范。

AMD(异步模块定义) & CMD(通用模块定义)

  • AMD 和 CMD 都是用来解决浏览器异步加载的问题。
  • AMD 是 Asynchronous Module Definition 的缩写,即“异步模块定义”,它采用异步方式加载模块(模块的加载不影响它后面语句的运行),且会提前加载。
  • AMD 同 CommonJS 一样也是使用 require 加载模块,不同的是,AMD 要求两个参数 require([Module],callback)
  • CMD 与 AMD 最大的不同就是:CMD 推崇依赖就近,延迟执行。可以在代码的任意一行写入依赖:

ES6 Module

ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,旨在成为浏览器和服务器通用的模块解决方案。其模块功能主要由两个命令构成:export 和 import. export 命令用于规定模块的对外接口,import 命令用于输入其他模块提供的功能。 ES6 还提供了 export default 命令,为模块指定默认输出,对应的 import 语句不需要使用大括号.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CommonJS
  • AMD(异步模块定义) & CMD(通用模块定义)
  • ES6 Module
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档