用于客户端和服务器端js(node.js)的Javascript OOP库
问题描述:
是否有任何Javascript OOP库能够以更基于类的方式轻松地与类,内置类等一起工作以避免与JS一起工作的原型OOP在客户端(浏览器)和服务器上(在我的情况下Node.js,但通常使用JavaScript核心函数,这样就可以使用,无论解释器)?用于客户端和服务器端js(node.js)的Javascript OOP库
谢谢。
答
The Rightjs库的服务器版本为you can download。
我认为它具有特定的Node.js。
从下载页面:
RightJS也可作为服务器端库。在这种情况下,它仅包含本机JavaScript单元扩展和Class,Observer,Options单元以及Util模块中的所有非DOM实用程序函数。
我们的服务器端构建遵循CommonJS原则,并且可以与node.js框架一起使用。
答
几天前,雅虎前端工程师Dirk Ginader告诉我,最新发布的YUI3完美地与node.js一起使用。
我还没有证实我自己(不是YUI的忠实粉丝),但是Dirk正在雅虎工作。邮件应用程序,其下一个版本将基于node.js(部分)。这是够好,我相信他知道他在说什么:-)
答
我刚刚发布https://github.com/alessioalex/Cls 4天前。它非常轻量级,有3个函数(混合函数用于复制属性,扩展函数用于继承以及用于解析参数并使用前两个函数的Cls函数)。
这适用于Node.js &浏览器,我已经尽力记录&测试。
的语法的一个例子:
var Person = Cls({
methods: {
constructor: function(name, age) {
this.name = name;
this.age = age;
},
present: function(otherDude) {
return "Hello " + otherDude + " I'm " + this.name + ", my age is: " + this.age;
}
},
});
var Student = Cls({
// extends the Person class
uber: Person,
present: function() {
/**
* call super function
* note that this approach works even async (unlike other class libs)
*/
return this.inherited('present', arguments);
}
});
/**
* since the constructor is missing
* it will call the super constructor automatically
*/
var alex = new Student('Alex', 25);
alex.present();