在节点js环境和serverUrl中parsingJavascript SDK

我正在尝试在node.js环境中使用parsingJavascript SDK,我完全困惑于为什么我无法得到这个工作。 我在Swift iOS应用程序中使用Parse,所以我熟悉Parse客户端代码。

这是我想要做的:

var Parse = require('parse/node'); function ParseModule() { var self = this; self.initialize = function () { return new Promise(function(resolve, reject) { Parse.initialize("myAppID", "myJavascriptKey", "myMasterKey"); Parse.serverUrl = "https://myserver.com/parse"; Parse.Cloud.useMasterKey(); var query = new Parse.Query("MyClassName"); query.find() .then( function(results) { console.log("yay! it worked"); resolve(); } ).catch( function(err) { output.log("parse error: " + err); reject(err); } ); }); } return self; } module.exports = new ParseModule(); 

当我的模块的初始化函数被调用后,进行“查找”调用,在节点debugging它只是挂起节点。 在节点中它只是退出应用程序,所以我没有错误。 这可能是因为正在使用服务器的错误(硬编码)URL。

顺便说一句,我真的很想使用主键而不是Javascript键,但初始化方法需要JavaScript键。

此外,当我通过parsingSDK代码,我得到这个声明:

  var url = _CoreManager2['default'].get('SERVER_URL'); 

在RESTController.js中。 它是从“configuration”对象,这似乎是我的parsing服务器所使用的服务器url。 因此,按照文档指示设置serverUrl不起作用。

我没有使用正确的Parse NPM模块吗? 我是node.js的新手

我正在浪费我的整个个人项目开发日!

谢谢彼得

更新:我已经添加了(Parse.serverUrl = …)(几乎肯定是无用的)集之后的以下代码行。 这似乎解决了这个问题。

 Parse.CoreManager.set('SERVER_URL', "https://myserver.com/parse"); 

但是,这似乎对我来说是一个黑客。 如果有人正在做类似于我正在做的事情,会告诉我我做错了什么(即正确的做法),我将不胜感激。

在进行“查找”调用之后,在节点debugging中,它只是挂起节点。 在节点中它只是退出应用程序,所以我没有错误。

有2点。 首先,Parse.Promise不是es6-like的承诺,它没有catchfunction。 https://parse.com/docs/js/api/classes/Parse.Promise.html

其次,由于js sdk发现exception,我遇到了很多问题。 而我找不到。 在你的代码中,输出没有被定义,所以在output.log中有一个缺less的ReferenceError。

尝试下面的代码。

 var Parse = require('parse/node'); function ParseModule() { var self = this; self.initialize = function () { return new Promise(function(resolve, reject) { Parse.initialize("myAppID", null, "myMasterKey"); Parse.serverUrl = "http://localhost:1337/parse"; //Parse.Cloud.useMasterKey(); console.log(1); var query = new Parse.Query("MyClassName"); query.find({useMasterKey:true}).then( function(results) { console.log(2); console.log("yay! it worked"); resolve(); },function(err) { try{ console.log(3); output.log("parse error: " + err); reject(err); } catch(error){ console.log(4); console.log(error); } } ); }); } return self; } module.exports = new ParseModule();