2016-03-04 32 views
8

我想了解新的分析服務器並在Heroku上部署。這很順利,但我正在努力解決如何編寫服務器端代碼(雲代碼)。我已經多次閱讀了解析服務器示例,所以我必須錯過一些東西,但是我很不清楚如果我應該使用Express來處理某些事情,或者我甚至開始包含我的雲代碼文件。很感謝任何形式的幫助。在分析服務器和Heroku中使用雲代碼

UPDATE:

我發現雲文件夾,我只是找錯了地方。我將它和index.js移動到桌面上的應用程序文件夾中。我已將main.js中的默認代碼更改爲我的自定義代碼。我用我的應用信息設置了index.js。現在的問題是,當我運行應用程序並嘗試調用雲代碼函數時,我得到錯誤無效函數。

回答

8

如果您有在heroku上運行的分析服務器示例,那麼您有90%。只需打開cloud/main.js文件並開始添加您的雲代碼。例如,應該有一個hello雲功能。

要使用您已經創建的雲代碼模塊/文件,您可以按照之前在parse.com上所做的要求使用它們。唯一的區別是路徑現在應該是相對的而不是絕對的。例如,如果您在雲目錄中有一個名爲cloudFunctions.js的模塊,require('cloud/cloudFunctions');應該是require('./cloudFunctions');

Cloud Code的工作原理與parse.com相似,您不必爲簡單的應用程序考慮過多的expressjs。也就是說,解析服務器使用expressjs,所以是的,你正在使用它。

解析服務器只是一個類似於其他數千個可用的另一個節點模塊。如果您以前沒有使用nodejs的經驗,運行分析服務器可能會顯得複雜。因此,我建議在完整遷移之前閱讀有關nodejs的基礎知識。

+0

感謝您的好評!我仍然有幾個問題。我使用了「Deploy to Heroku」按鈕,沒有main.js文件。你能否指出我以正確的方式部署到包含main.js文件的heroku?我一定會閱讀關於nodejs。 – m1234

+1

啊哈!您是否在運行'heroku git:clone -a yourAppName'以在使用部署按鈕後在本地獲取文件?如果是這樣,你應該得到一個帶有main.js文件的雲目錄?要繼續進行更新,您可以閱讀有關在heroku上部署的信息https://devcenter.heroku.com/articles/deploying-nodejs –

+0

謝謝!是的,我做了,但main.js文件在哪裏出現?因爲我一直無法找到它。 – m1234

1

我在Google Compute Engine實例上使用Bitnami堆棧,並且遇到類似的問題。要解決它,只需導航到server.js文件所在的文件夾並創建一個名爲「cloud」的文件夾。然後用下面的內容創建雲文件夾中的文件main.js:

Parse.Cloud.define('hello', function(req, res) { 
    res.success('Hi'); 
}); 

現在打開server.js文件,並找到包含路徑到雲代碼文件中的行。將其更改爲指向您main.js文件是這樣的:

server.js config file

這可能是您選擇的任意文件夾中。 現在只需重新啓動服務器解析並調用雲功能:

String result = ParseCloud.callFunction("hello", new HashMap<>()); 

這是與Java SDK,但不應該有太大的不同。如果您使用了上面的函數,變量結果將等於「Hi」。

+0

我也使用了Bitnami Stack,但只要將雲參數從./node_modules/parse-server/lib/cloud-code/Parse.Cloud.js更改爲./cloud/main.js,我的網站就會停止運行 - 我嘗試將我的雲代碼附加到Parse.Cloud.js文件中,但即使此時它也停止工作。我需要將自己的雲代碼遷移到服務器,我該怎麼做?謝謝。 – Meeyam

+0

@Meeyam請檢查解析日誌併發布任何錯誤消息。我發現大多數錯誤都可以通過這種方式輕鬆解決。當你停止服務器時,它會告訴你日誌所在的位置。 – fusion44