Node.js – 如何使用外部库(VersionOne JS SDK)?

我想在Node.js中使用VersionOne JS SDK( https://github.com/versionone/VersionOne.SDK.JavaScript )。 我只是简单地下载整个图书馆,放在我的js文件旁边:

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

不幸的是有些东西似乎是错的,我调用后得到的输出

节点app.js

是:

 {} undefined 

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

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

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

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

你可以尝试我刚从这里更新的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构buildJS。

我想我去年正在尝试“browserify”,这就是“v1sdk.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);