前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于CommonJS,聊一聊你可能不知道的内容

关于CommonJS,聊一聊你可能不知道的内容

作者头像
问问计算机
发布2023-02-24 10:45:06
3070
发布2023-02-24 10:45:06
举报
文章被收录于专栏:问问计算机

1.CommonJS是什么

从CommonJS本身来看,它是一个规范(官网中提到的specification),笔者发现很少有帖子对这个问题正面回答。

CommonJS在更名之前是ServerJS,它是由Mozilla的工程师Kevin Dangoor在2009年1月发起的一个项目。开始的时候称为ServerJS。它通过Google的Group发起了一些提议,并且制定了一些规范。在2009年8月的时候,这个Google Group的名字变更为了 CommonJS。如下:

1.CommonJS是什么

从CommonJS本身来看,它是一个规范(官网中提到的specification),笔者发现很少有帖子对这个问题正面回答。

CommonJS在更名之前是ServerJS,它是由Mozilla的工程师Kevin Dangoor在2009年1月发起的一个项目。开始的时候称为ServerJS。它通过Google的Group发起了一些提议,并且制定了一些规范。在2009年8月的时候,这个Google Group的名字变更为了 CommonJS。如下:

也就是说CommonJS它并不是我们平时说的CommonJS,它是一个项目,一个生态,而且是一个Google论坛的Google Group的名字。

而我们平时所讨论的CommonJS,实际上是指具体的CommonJS中明确提到的模块规范或者说是标准,也就是指:

  • Modules/1.0
  • Modules/1.1
  • Modules/1.1.1
  • Packages/1.0
  • System/1.0

那个这个规范的具体内容不再进一步说明了,它在官方的文档上有明确详细的说明针对RequireModule ContextModule Identifiers

2.CommonJS的宗旨

CommonJS它是针对前端走向工程化过程中的一个产物。将一个复杂的文件有针对性的拆分几个文件,拆开以后模块的内部是私有的,但是要向外暴露接口和其他的模块进行交互。

它实际上目标是致力于创建一个生态。就像python中通过pip安装依赖包以后通过import调用,java中使用import引用其他的jar包,以及c#中在visualstudio中通过添加dll的引用后使用using引入。通过构建、封装、上传、共享,打造一个以javascript为基础,可以应用于服务器端或者浏览器端,以及其他环境下的完整生态。

3.CommonJS的应用

CommonJS在Node.js中的应用,就是当前非常重要,并且被广泛应用的一种服务器端的实现。

而在浏览器端对于JavaScript的开发,由于浏览器不支持CommonJS,在浏览器中直接使用require调用的情况下,会提示require is undefined。所以需要借助browserify进行转译。

4.CommonJS带来了什么

①不用关心html中script标签引入的顺序

②不用担心window下全局变量的定义导致出现脏代码的相互影响

③针对版本的版本的管理方便明了

④针对不同业务模块的解耦可以更容易的剥离解耦

⑤解耦之后独立性增加,更有利于代码共享分享

对于 Kevin Dangoor 在2009年介绍 ServerJS 的帖子,找不到的同学请留言。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 问问计算机 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档