如何在节点上使用YUI3?

时间:2010-09-23 13:24:11

标签: javascript node.js yui yui3

我无法让YUI3在节点上工作。

我已根据此网站安装了所有依赖项:http://github.com/yui/nodejs-yui3

这是我的代码:

var jsdom  = require("jsdom").jsdom,
    window = jsdom("<html><head></head><body>hello world</body></html>").createWindow();

var puts = require("sys").puts;
var YUI = require("yui3").YUI;

var person = {
    name: "Ajsie",
    age: 25,
    greet: function() {
        puts("Hello World! My name is " + this.name + " and I am " + this.age + " years old")
    }
}

result = YUI.Object(person);

puts(result);

这是终端上的输出:

node.js:50
    throw e;
    ^
TypeError: Object function () {
        var i = 0,
            Y = this,
            args = arguments,
            l = args.length,
            gconf = (typeof YUI_config !== 'undefined') && YUI_config;

        if (!(Y instanceof YUI)) {
            Y = new YUI();
        } else {
            // set up the core environment
            Y._init();
            if (gconf) {
                Y.applyConfig(gconf);
            }
            // bind the specified additional modules for this instance
            if (!l) {
                Y._setup();
            }
        }

        if (l) {
            for (; i < l; i++) {
                Y.applyConfig(args[i]);
            }

            Y._setup();
        }

        return Y;
    } has no method 'Object'
    at Object.<anonymous> (/Volumes/Private/ajsie/Projects/icdev/javascript/node/object.js:15:14)
    at Module._compile (node.js:324:23)
    at Object..js (node.js:332:12)
    at Module.load (node.js:254:25)
    at Object.runMain (node.js:346:24)
    at Array.<anonymous> (node.js:595:12)
    at EventEmitter._tickCallback (node.js:42:22)
    at node.js:607:9

它说“没有方法”对象“。

有什么问题?

1 个答案:

答案 0 :(得分:3)

代码应如下所示:


var jsdom  = require("jsdom").jsdom,
    window = jsdom("hello world").createWindow();

var puts = require("sys").puts;
var YUI = require("yui3").YUI;


YUI().use(function(Y){
    var person = {
        name: "Ajsie",
        age: 25,
        greet: function() {
            puts("Hello World! My name is " + this.name + " and I am " + this.age + " years old");
        }
    }

    var result = Y.Object(person);
    puts(result);
});