1

我正在尝试在 Node.js ( https://github.com/versionone/VersionOne.SDK.JavaScript ) 中使用 VersionOne JS SDK。我只是下载整个库,将它与我的 js 文件放在一起:

var v1 = require('./v1sdk/v1sdk.js');
var V1Server = v1.V1Server;
console.log(v1);
console.log(V1Server);

不幸的是,似乎有些不对劲,我在调用后得到的输出

节点应用程序.js

是:

{}
undefined

有人可以指出我做错了什么或检查sdk是否有效。谢谢!

4

2 回答 2

2

你能试试我刚刚从这里更新的 sample.js 脚本吗:

https://github.com/versionone/VersionOne.SDK.JavaScript/blob/master/sample.js

它像这样引入两个模块:

var  V1Meta = require('./v1meta').V1Meta;
var  V1Server = require('./client').V1Server;

var hostname = "www14.v1host.com"; 
var instance = "v1sdktesting";
var username = "api";
var password = "api";
var port = "443";
var protocol = "https";

var server = new V1Server(hostname, instance, username, password, port, protocol);

var v1 = new V1Meta(server);

v1.query({
    from: "Member",
    where: {
        IsSelf: 'true'
    },
    select: ['Email', 'Username', 'ID'],
    success: function(result) {
        console.log(result.Email);
        console.log(result.Username);
        console.log(result.ID);
    },    
    error: function(err) { // NOTE: this is not working correctly yet, not called...
        console.log(err);
    }
});

您可能必须从 CoffeeScript 获取最新版本并构建 JS。

我想我去年尝试了“browserify”,这就是“v1sdk.js”文件的生成方式。但我不确定如果您使用的是 node.js 是否是最好的方法。最好按照 sample.js 文件的方式来做。

但是,为了方便起见,我还检查了对 v1sdk.coffee 的更改,该属性导出了其他两个模块。有了它,您可以查看 sample2.js。唯一不同的部分是这个,这更像是你试图用你的例子做的:

var  v1sdk = require('./v1sdk');

var hostname = "www14.v1host.com"; 
var instance = "v1sdktesting";
var username = "api";
var password = "api";
var port = "443";
var protocol = "https";

var server = new v1sdk.V1Server(hostname, instance, username, password, port, protocol);

var v1 = new v1sdk.V1Meta(server);
于 2013-11-01T22:25:03.817 回答
2

您可以在定义 V1Server 的源代码中看到,它是一个带有构造函数的类。因此,您需要使用 new 关键字并为您的环境传递参数。

https://github.com/versionone/VersionOne.SDK.JavaScript/blob/master/client.coffee#L37

var server = new V1Server('cloud'); //如果你需要更多

于 2013-10-24T05:34:26.590 回答