今天看到一个关于commonJs和nodeJs的简介~

前言:
早就听说有用于本地编程的JavaScript框架,但总觉得是小打小闹不成气候,也没有什么实用价值。但自从CommonJS和NodeJS两个项目的出现,JavaScript作为本地编程语言的这种特殊应用形式,才开始进入进入大众的视野。 本文翻译CommonJS首页的介绍,说明什么是CommonJS。 另外随着并行计算的普及,像JavaScript这种函数式语言,由于其固有的易于进行并行计算的特性,将有更广阔的应用前景。

正文:
JavaScript是一个强大面向对象语言,它有很多快速高效的解释器。官方JavaScript标准定义的API是为了构建基于浏览器的应用程序。然而,并没有定于一个用于更广泛的应用程序的标准库。

CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标准库。这样的话,开发者可以使用CommonJS API编写应用程序,然后这些应用可以运行在不同的JavaScript解释器和不同的主机环境中。在兼容CommonJS的系统中,你可以实用JavaScript程序开发:

服务器端JavaScript应用程序
命令行工具
图形界面应用程序
混合应用程序(如,Titanium或Adobe AIR)

NodeJS和CommonJS之间的关系

CommonJS是一种规范,NodeJS是这种规范的实现。CommonJS是一 个不断发展的规范,计划将要包括如下部分:
  • Modules
  • Binary strings and buffers
  • Charset encodings
  • Binary, buffered, and textual input and output (io) streams
  • System process arguments, environment, and streams
  • File system interface
  • Socket streams
  • Unit test assertions, running, and reporting
  • Web server gateway interface, JSGI
  • Local and remote packages and package management

具体每个子规范的定制进度请查看官方网站的说明:http://commonjs.org/specs/

CommonJS有很多实现,其中不乏很多大名鼎鼎的项目,比如 说:Apache的CouchDB和node.js等。但这些项目大 部分只实现了CommonJS的部分规范。具体的项目和实现部分参见官方网站的说明:http://commonjs.org/impl/
编者:千万别小看作为后台应用的JavaScript,Palm的WebOS的开发计划中就曾提到CommonJS和其扩展的JS API,另外几乎所有的平台(包括智能手机平台和计算机平台都开始流程)都开始引入Web技术:比如说S60中的WRT,IPhone中的 WebWidget,Android平台上的WebWidget,还有Firefox直接用XML和CSS作界面用Javascript控制逻辑,甚至 Google的ChromeOS直接就是一个浏览器操作系统。  我做个技术上的赌注:动态语言和静态语言混合编程将会很流行(比如Android和PalmWebOS同时引入两种SDK,QT直至 QTScript)。

转载于:https://www.cnblogs.com/tracyzeng/articles/3890424.html

什么是CommonJS?相关推荐

  1. JavaScript模块化 --- Commonjs、AMD、CMD、es6 modules

    随着前端js代码复杂度的提高,JavaScript模块化这个概念便被提出来,前端社区也不断地实现前端模块化,直到es6对其进行了规范,下面就介绍JavaScript模块化. 这篇文章还是希望能给大家一 ...

  2. CommonJS 的 AMD 规范

    异步模块定义(Asynchronous Module Definition,简称 AMD)API 描述了一种定义模块的机制,模块及其依赖模块可以通过这种机制进行加载.该机制特别适用于浏览器. 本规范曾 ...

  3. Commonjs规范

    为什么有模块化 1.方便代码维护 2.每个功能放到一个模块内 3.解决命名问题,全局变量污染问题 常见的模块化 1.我们写方法写属性都放在对象里(单例模式) 缺陷声明的对象也有可能命名冲突,不能完全解 ...

  4. 关于commonjs,AMD,CMD之间的异同

    1.简介 随着前端业务复杂度的增加,模块化成为一个大的趋势.而在ES6还未被浏览器所支持的情况下,commonjs作为ES6中标准模块加载方案,在客服端中的支持情况并不好,现在在客服端中有2中模块化的 ...

  5. CommonJS规范与AMD规范的理解

    2019独角兽企业重金招聘Python工程师标准>>> 链接地址:http://www.xx566.com/detail/32.html 谈到AMD,我们首先来了解一个基于AMD规范 ...

  6. js模块化编程之CommonJS和AMD/CMD

    一.CommonJS 1.CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白.它的终极目标是提供一个类似Python,Ruby和Java标准库.这样的 ...

  7. CommonJs和AMD是什么(20170214)

    2019独角兽企业重金招聘Python工程师标准>>> 学习node的同时,才开始接触到模块式开发,自然就会接触到CommonJs和AMD,当时应该也是一知半解的状态,今天打算静下心 ...

  8. Javascript模块规范(CommonJS规范AMD规范)

    Javascript模块化编程(AMD&CommonJS) 前端模块化开发的价值:https://github.com/seajs/seajs/issues/547 模块的写法 查看 AMD规 ...

  9. commonjs是什么_第一步:面试官让我解释什么是Common.js和ES6模块化

    前两篇文章中,有小伙伴给我留言说怎么没有模块化相关的知识点,模块化在面试中被问到的概率非常大,但因为前几篇文章篇幅实在太长了些,所以模块化知识点单独这篇文章给大家聊聊. 先说说什么是模块化,就是将独立 ...

最新文章

  1. 关于Ocelot 网关结合Consul实现服务转发的坑爹问题
  2. VTK:可视化算法之CreateBFont
  3. jMeter工具里左边树形结构里一些节点属性的介绍
  4. h命令可以获取mysql客户端的帮助信息_如何获取MySQL帮助信息
  5. oracle未找到时区,解决ORA-01882:未找到时区区域%s
  6. 黑马程序员___Java基础[04-继承和多态]
  7. 计算机任务栏的操作,win7系统任务栏添加计算机快捷方式的操作方法
  8. #浪潮之巅#苹果公司和乔布斯神话----有感
  9. 卢卡奇总体性原则_读书笔记|卢卡奇物化与无产阶级意识无产阶级的立场(1)...
  10. linux精简版远程登录,Linux下定制SSH来简化远程访问的方法
  11. Matlab2021a安装教程
  12. java sftp工具类_Java代码--SFTP工具类
  13. Dataset之LFW:LFW人脸数据库的简介、安装、使用方法之详细攻略
  14. python 画直方图
  15. 史上最详细的Stacked Hourglass姿态检测算法详解(源码分析)
  16. Linux文件IO操作
  17. 最强GTD时间管理工具:OmniFocus Pro 3 for Mac支持big sur
  18. verdi/debussy的快捷键 以及基本操作
  19. 3dmax模型单位转换问题解决方法
  20. python爬虫精进第5关前5页歌词爬-Python抓取歌词自制FreeStyle

热门文章

  1. CyberDuck:Macos和Linux服务器简洁传大文件
  2. 【Java Web开发指南】线程安全和单线程
  3. SQLite基本操作
  4. python conn_python中conn是什么
  5. 网络推广产品浅析网站SEO文章更新要注意哪些因素?
  6. 中山网络推广浅谈网站提高用户体验要做好的5点!
  7. 企业网络推广期间影响企业网络推广自然排名的因素有哪些?
  8. 网站内容收录除了原创性和质量其他因素也少不了
  9. 浅析那些你不知道的提升企业网站转化率的SEO优化技巧 !
  10. python word排版_使用Python通过win32 COM实现Word文档的写入与保存方法