解析云代码如何与解析服务器一起工作?

How does parse cloud code work with parse server?

阅读 Parse 关于 Cloud Code 的文档后,我感到困惑。他们说 Cloud Code 不是 Node.js 环境。

例如,当我从客户端调用云函数时(在本例中是 iOS 应用程序)。

PFCloud.callFunctionInBackground("testCloud", withParameters: [:]) {
            (response: AnyObject?, error: NSError?) -> Void in
            if (error == nil) {
                if let testRespones = response as? String{
                    print(testRespones)
                } 
            } else {
                   print(error)
              } 
}

我的解析服务器目前托管在 Heroku 上。

如有任何见解,我们将不胜感激。

您的 Cloud Code 实际上只是 node.js 服务器实例中的 javascript 文件 运行。当您向服务器请求您的 Cloud Code 时,您的解析服务器 express 应用程序将这些请求(用 /cloud 表示)路由到您的云目录中的文件。为了让它工作,你必须在 index.js 中的 ParseServer 对象中设置你的云变量。像这样

cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js'

所以基本上,当您调用云函数时,您是在调用解析服务器中的云变量,它会将您路由到 'parse-server-directory/cloud/main.js' 并找到您的函数和 returns 某种响应。