如何理解CommonJS模块加载的复杂性和细节?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2630个文字,预计阅读时间需要11分钟。
CommonJS这个英文单词,相信大家都很熟悉,它通常指的是一种JavaScript模块化规范。而common knowledge意为常识,这两个词组合在一起,确实给人一种类似常识的感觉。所以,可以认为CommonJS在某种程度上也具有类似常识的特性,大家都能理解其含义。
叨叨一会CommonJS
Common这个英文单词的意思,相信大家都认识,我记得有一个词组common knowledge是常识的意思,那么CommonJS是不是也是类似于常识性的,大家都理解的意思呢?很明显不是,这个常识一点都不常识。我最初认为commonJS是一个开源的JS库,就是那种非常方便用的库,里面都是一些常用的前端方法,然而我错得离谱,CommonJS不仅不是一个库,还是一个看不见摸不着的东西,他只是一个规范!就像校纪校规一样,用来规范JS编程,束缚住前端们。就和Promise一样是一个规范,虽然有许多实现这些规范的开源库,但是这个规范也是可以依靠我们的JS能力实现的。
CommonJs规范
那么CommonJS规范了些什么呢?要解释这个规范,就要从JS的特性说起了。JS是一种直译式脚本语言,也就是一边编译一边运行,所以没有模块的概念。因此CommonJS是为了完善JS在这方面的缺失而存在的一种规范。
CommonJS定义了两个主要概念:
- require函数,用于导入模块
- module.exports变量,用于导出模块
然而这两个关键字,浏览器都不支持,所以我认为这是为什么浏览器不支持CommonJS的原因。
本文共计2630个文字,预计阅读时间需要11分钟。
CommonJS这个英文单词,相信大家都很熟悉,它通常指的是一种JavaScript模块化规范。而common knowledge意为常识,这两个词组合在一起,确实给人一种类似常识的感觉。所以,可以认为CommonJS在某种程度上也具有类似常识的特性,大家都能理解其含义。
叨叨一会CommonJS
Common这个英文单词的意思,相信大家都认识,我记得有一个词组common knowledge是常识的意思,那么CommonJS是不是也是类似于常识性的,大家都理解的意思呢?很明显不是,这个常识一点都不常识。我最初认为commonJS是一个开源的JS库,就是那种非常方便用的库,里面都是一些常用的前端方法,然而我错得离谱,CommonJS不仅不是一个库,还是一个看不见摸不着的东西,他只是一个规范!就像校纪校规一样,用来规范JS编程,束缚住前端们。就和Promise一样是一个规范,虽然有许多实现这些规范的开源库,但是这个规范也是可以依靠我们的JS能力实现的。
CommonJs规范
那么CommonJS规范了些什么呢?要解释这个规范,就要从JS的特性说起了。JS是一种直译式脚本语言,也就是一边编译一边运行,所以没有模块的概念。因此CommonJS是为了完善JS在这方面的缺失而存在的一种规范。
CommonJS定义了两个主要概念:
- require函数,用于导入模块
- module.exports变量,用于导出模块
然而这两个关键字,浏览器都不支持,所以我认为这是为什么浏览器不支持CommonJS的原因。

