用于客户端和服务器端js(node.js)的Javascript OOP库

用于客户端和服务器端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();