我正在尝试了解新的Parse Server并已部署在Heroku上。这很顺利,但我正在努力解决如何编写服务器端代码(云代码)。我已多次阅读解析服务器示例,所以我必须遗漏一些内容,但我不清楚我是否应该使用Express,或者我是如何开始包含我的Cloud Code文件的。非常感谢任何帮助。
更新:
我发现云文件夹我只是在错误的地方看。我将它和index.js移动到桌面上的apps文件夹中。我已将main.js中的默认代码更改为自定义代码。我已经使用我的应用信息设置了index.js。现在的问题是当我运行应用程序并尝试调用云代码函数时,我得到错误无效函数。
答案 0 :(得分:8)
如果你在heroku上运行了解析服务器示例,那么你就是90%。只需打开cloud/main.js
文件,然后开始添加您的云代码即可。这里应该有一个hello云函数作为例子。
要使用您已创建的云代码模块/文件,您可以像之前在parse.com上那样使用它们。唯一的区别是路径现在应该是相对的而不是绝对的。例如,如果您在云目录中有一个名为require('cloud/cloudFunctions');
的模块,则require('./cloudFunctions');
应为cloudFunctions.js
。
Cloud Code的工作方式类似于它在parse.com
上的工作方式,您不必过多考虑简单应用程序的表达式。也就是说,解析服务器正在使用expressjs,所以是的,你正在使用它。
解析服务器只是另一个节点模块,类似于其他数千个可用的节点模块。如果您以前没有使用nodejs的经验,那么运行解析服务器看起来很复杂。因此,我建议在完全迁移之前阅读有关nodejs的基础知识。
答案 1 :(得分:1)
我在Google Compute Engine实例上使用Bitnami堆栈,我遇到了类似的问题。要解决此问题,只需导航到server.js文件所在的文件夹,然后创建一个名为“cloud”的文件夹。然后使用以下内容在cloud文件夹中创建main.js文件:
Parse.Cloud.define('hello', function(req, res) {
res.success('Hi');
});
现在打开server.js文件,找到包含云代码文件路径的行。将其更改为指向您的main.js文件,如下所示:
这可以是您选择的任意文件夹。 现在只需重新启动解析服务器并调用云功能:
String result = ParseCloud.callFunction("hello", new HashMap<>());
这与Java SDK有关,但不应该有太大的不同。如果你使用了上面的函数,变量结果将等于“Hi”。