将 Cloud Code 与 Parse Server 和 Heroku 结合使用

Using Cloud Code with the Parse Server and Heroku

我正在尝试了解新的 Parse Server 并已部署在 Heroku 上。这很顺利,但我正在努力解决如何编写服务器端代码(云代码)。我已经多次阅读解析服务器示例,所以我一定遗漏了一些东西,但我很不清楚我是否应该使用 Express 来做某事,或者我什至如何开始包含我的 Cloud Code 文件。非常感谢任何帮助。

更新:

我在错误的地方找到了我正在寻找的云文件夹。我将它和 index.js 移到了桌面上我的应用程序文件夹中。我已将 main.js 中的默认代码更改为我的自定义代码。我已经用我的应用程序信息设置了 index.js。现在的问题是当我 运行 应用程序并尝试调用云代码函数时我得到错误无效函数。

如果您在 heroku 上有解析服务器示例 运行,那么您已经完成了 90%。只需打开 cloud/main.js 文件并开始添加您的云代码。那里应该有一个 hello 云函数作为示例。

要使用您已经创建的云代码 modules/files,您可以像之前在 parse.com 上那样要求它们。唯一的区别是路径现在应该是相对的而不是绝对的。例如,如果您在云目录中有一个名为 cloudFunctions.js 的模块,则 require('cloud/cloudFunctions'); 应该是 require('./cloudFunctions');

Cloud Code 的工作方式与它在 parse.com 上的工作方式类似,对于简单的应用程序,您不必过多考虑 expressjs。也就是说,解析服务器正在使用 expressjs,所以是的,你正在使用它。

解析服务器只是类似于其他数千个可用的另一个节点模块。如果您以前没有使用过 nodejs,运行 解析服务器可能看起来很复杂。因此,我建议在完全迁移之前阅读有关 nodejs 的基础知识。

我在 Google Compute Engine 实例上使用 Bitnami 堆栈,我遇到了与您类似的问题。要解决它,只需导航到 server.js 文件所在的文件夹,然后创建一个名为 "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"。