aardio是一个设计精巧的语言架构,能方便地调用其它语言现成的资源,而nodejs截止到目前有50万多个模块,基本上各行各业你能想到的东西它都有,假如肯花点时间去了解aardio怎么调用nodejs,那么nodejs现成的50万个模块就能为我所用,所以很值得研究aardio+nodejs的应用。比如说,游戏开发框架、爬虫、科学计算、人工智能等,如果用aardio从零开始写库,所需要的技术水平,花费的时间和精力,都不是一般人能接受得了的,如果用“整合资源”的思路,用aardio与nodejs进行交互,则很多项目就可以快速开发出最小可用产品进行市场测试,这一点对于个人开发者或是创业公司而言,都有着巨大的价值。下面演示aardio调用nodejs运行一个http服务端的例子:
import nodeJs;
import console;
//自动安装node.js模块
nodeJs.require('http');
var testjs = /***
//载入http模块,并将实例化的HTTP对象赋值给变量http
var http = require('http'); //require指令用于载入Node.js模块
//使用 http.createServer() 方法创建服务器对象,使用 listen 方法绑定 8888 端口,通过 request, response 参数来接收和响应数据
var httpServer = http.createServer(
function(request, response) {
// 发送 HTTP 头部,HTTP 状态值: 200 : OK,内容类型: text/plain,编码utf-8
response.writeHead(200,{'Content-Type':'text/html;charset=utf-8'}); //要用charset=utf-8,不然网页输出中文是乱码
//方式一:1.1发送响应数据
//response.write('<h1>Node.js</h1><p>Hello World 你好简码!!!</p>');
//方式一:1.2响应结束,不然访客网页图标一直在转等待完成
//response.end();
//方式二:发送响应数据,输出网页可以用response.end()写成一行
//response.end('<h1>Node.js</h1><p>Hello World 你好简码!!!</p>','utf-8');//'utf-8'可省,如果js文件保存编码是utf8而网页输出用'gbk2312'会显示乱码
response.end('<h1>Node.js</h1><p>Hello World 你好简码!!!!+++++</p>');
}
)
httpServer.listen(8080,"127.0.0.1");
//控制台输出提示
console.log("已启动http服务");
***/
var node = nodeJs.exec(testjs); //运行JS代码创建服务端
console.pause(true);
//运行成功后会在任务管理器里出现node.exe进程,需要手工结束.修改了nodejs源码也需要重运行node.exe
运行后,在浏览器中输入“http://localhost:8080/”访问,会看到
Node.js
Hello World 你好简码!!!!+++++
在这个例子当中只演示了简单的默认响应,如果需要进行业务逻辑处理,可以在nodejs代码里处理,也可以让nodejs作为中间件通过ZeroMQ模块或nanomsg模块把消息发给aardio程序进行处理。请关注后续相关帖子。
相关资料:淘宝NPM 镜像https://npm.taobao.org/ (可看到有50万个模块,每十分钟同步一次)