最近学习了一下node.js,由于我是dojo出身,所以,觉得node.js并不是非常的面向对象化,并不满足面向对象的几个基本条件“封装”、“继承”、“多态”、“重载”等,虽然这些条件,JS是可以模拟出来的,但是重复的造轮子,会使得开发低下,性能堪忧。于是乎鄙人打算写一个node.js的OO module,然后看了一下dojo1.7的源码,发现原来,dojo1.7已经开始支持node.js了,这样就非常好了,我也不必去造轮子了。好了,废话少说,让我们来来看看,dojo是如何进入node.js的上下文的吧。
该文章分两个部分:
1.我们来做一个小的test,来验证dojo是否已加入node.js的上下文中;
2.我们把nodebeginner里面的一个上传图片的例子,用dojo来完成。
开发环境我们可以采用eclipse来完成。将dojo包导入进去:
最外层的dojo文件夹中放入的是dojo库。我们在这个工程中,新建一个入口类Main.js
(function() {
this.dojoConfig = {
has: {
"host-node": 1
}
};
require("H:/Project/dojo_nodejs/dojo/dojo/dojo");
define("Main", [], function() {
console.info("Hello World!");
});
})();
这里说明一下,this表示的是node.js的上下文,这里给dojo设置host-node,因为dojo默认的模式是host-browser(浏览器窗口模式)。这里还要把dojo.js这个文件require进来,这样就OK啦。
运行效果:
这样,dojo就很轻松的融入到node.js的环境中了,是不是很简单^_^¥。好了,下面在第二部分中我们来做一个上传文件的实例来表现dojo在开发node.js这一块强大的OO技术吧。(BTW:上传文件这个例子其实很简单,但是为了表现出用OO的形式来开发node.js,所以会故意写的有点复杂,请不要喷我<#_#>)
第二部分:
首先我们新建一个cory包,Main.js也需要稍微改一下,如下:
(function() {
this.dojoConfig = {
has: {
"host-node": 1
},
paths: {
cory: "../../cory"
}
};
require("H:/Project/dojo_nodejs/dojo/dojo/dojo");
define("Main",