夺命雷公狗---node.js---3commonJs 与 nodeJs的简介

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)。

时间: 2024-10-03 21:54:36

夺命雷公狗---node.js---3commonJs 与 nodeJs的简介的相关文章

夺命雷公狗---node.js---4net模块(上)

node.js为我们提供了一个net模块,主要是为了提供了一些底层通信的小工具,包含了创建服务器/客户端方法,引入方式也很简单: var net = require('net'); net模块也为我们提供了很懂方法: net.server通常用于创建一个TCP或者本地服务器:

夺命雷公狗---node.js---2node.js中的npm的常用命令

npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install [email protected] npm install <name> -g   将包安装到全局环境中 但是代码中,直接通过require()的方式是没有办法调用全局安装的包的.全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm

夺命雷公狗---node.js---9实现页面的跳转

废话不多说,我们先来看看项目的文件结构,如下所示: 然后我们创建一个index.js的文件让他来做端口监听,代码如下所示: var http = require('http'); var fs = require('fs'); var url = require('url'); FILE = "d:/node/code/http"; http.createServer(function(req,res){ res.writeHead(200,{"Content-Type&qu

夺命雷公狗---node.js---6net模块玩telnet通信(下)

我们来升级玩玩,废话不多说,代码如下所示: /** * Created by leigood on 2016/8/12. */ var net = require('net'); var ChatSrever = net.createServer(); clinetList = []; ChatSrever.on("connection",function(client){ client.name = client.remoteAddress + ":" + cli

夺命雷公狗---node.js---15之加密

node其实也给我们留下了密码的加密发送,不过一般都是用cmd5加密其实也是够了,但是sha1加密也要提下: /** * Created by leigood on 2016/8/31. */ var crypto = require('crypto'); var md5 = crypto.createHash('md5'); var pass = 'admin888'; md5.update(pass); //var ps = md5.digest('md5'); //console.log(

夺命雷公狗---node.js---14之DNS

node下如果想域名解析是需要通过apache或者ng的反向版定才可以实现的,但是他也给我们留下了哟套DNS操作方法: /** * Created by leigood on 2016/8/30. */ //1 resolve() --决定 域名转换成ip(dns的记录) //2 reverse() --颠倒 ip转换成域名 lookup() var dns = require('dns'); //这里其实可以理解成是用域名来查看该域名绑定在那台主机上 //这个A是域名的绑定方式 /*dns.r

夺命雷公狗---node下的一聊天室-首发

今晚感觉挺蛋疼,就用了点时间,在node下开发了个聊天室来玩玩,不过之是简单的开发了套而已,并没多做什么考虑,, 但是发现了一个好处就是用node来写聊天室代码居然少得可怜,这个不佩服node都不行,效果图如下所示: 说句实话,我都有点爱上node了,因为深深的被她的魅力感染了,嘻嘻,不做过多的介绍,代码其实也很简单: 说实话感觉node真的很强大,, 源码下载地址: 链接:http://pan.baidu.com/s/1cvEdTO 密码:wx9s

夺命雷公狗---node.js---10之POST的接收

首先我们在项目下创建一个表单,代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>form表单测试</h1> <form name="index" act

夺命雷公狗---node.js---11之文件上传

我们在做文件上传前需要用npm来安装一个插件先, 首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable 然后开始编写上传的静态页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> &l