2016-03-04 11 views
8

Ich versuche, den neuen Parse Server zu verstehen und auf Heroku bereitgestellt. Dies ging reibungslos, aber was ich kämpfe ist herausfinden, wie man serverseitigen Code (Cloud Code) schreiben. Ich habe das Pars-Server-Beispiel mehrmals gelesen, daher muss ich etwas vermissen, aber ich bin mir sehr unklar, ob ich Express für etwas verwenden soll oder wie ich sogar anfangen soll, meine Cloud-Code-Dateien einzuschließen. Jede Hilfe wird sehr geschätzt.Verwenden von Cloud-Code mit dem Parse Server und Heroku

UPDATE:

fand ich die Cloud-Ordner ich an der falschen Stelle nur hinsah. Ich habe es und index.js in meinen App-Ordner auf dem Desktop verschoben. Ich habe den Standardcode in main.js in meinen benutzerdefinierten Code geändert. Ich habe index.js mit meinen Apps-Informationen eingerichtet. Das Problem ist jetzt, wenn ich die App laufen lasse und versuche, die cloud-code-Funktionen aufzurufen, bekomme ich eine ungültige Funktion.

Antwort

8

Wenn Sie den Parse Server beispielsweise auf Heroku ausführen, sind Sie zu 90 Prozent dort. Öffnen Sie einfach die Datei cloud/main.js und fügen Sie Ihren Cloud-Code hinzu. Dort sollte als Beispiel eine Hallo-Wolke-Funktion sein.

Um Ihre bereits erstellten Cloud-Code-Module/Dateien zu verwenden, können Sie sie wie zuvor auf parse.com benötigen. Der einzige Unterschied ist, dass der Pfad jetzt relativ statt absolut sein sollte. Zum Beispiel require('cloud/cloudFunctions'); sollte require('./cloudFunctions'); sein, wenn Sie ein Modul namens cloudFunctions.js im Cloud-Verzeichnis hatten.

Cloud-Code funktioniert ähnlich wie auf parse.com und Sie sollten nicht zu viel über Expressjs für einfache Anwendungen denken. Das heißt, Parse-Server verwendet Expressjs, also ja, Sie verwenden es.

Parse-Server ist einfach ein weiteres Knotenmodul ähnlich wie die anderen Tausende verfügbar. Wenn Sie noch keine Erfahrung mit Nodejs haben, kann der Parser-Server kompliziert erscheinen. Daher würde ich empfehlen, vor einer vollständigen Migration die Grundlagen von nodejs zu lesen.

+0

Danke für die tolle Antwort! Ich habe noch ein paar Fragen. Ich habe den "Deploy to Heroku" -Button verwendet und habe keine main.js-Datei. Könntest du mich in die Richtung eines korrekten Weges zu Heroku bringen, der die main.js Datei einschließen würde? Ich werde definitiv über Nodejs lesen. – m1234

+1

Aha! Haben Sie "heroku git: clone -a yourAppName" ausgeführt, um Ihre Dateien nach der Verwendung der Schaltfläche "Bereitstellung" lokal zu laden? Wenn ja, sollten Sie ein Cloud-Verzeichnis mit einer main.js-Datei erhalten haben? Um fortzufahren Updates zu machen, können Sie hier über die Bereitstellung auf Heroku lesen https://devcenter.heroku.com/articles/deploying-nodejs –

+0

Vielen Dank!Ja, habe ich aber wo soll die main.js Datei erscheinen? Weil ich nicht in der Lage war, es zu finden. – m1234

1

Ich verwende den Bitnami-Stapel in einer Google Compute Engine-Instanz und ich hatte ein ähnliches Problem wie Ihres. Um es zu lösen, navigieren Sie einfach zu dem Ordner, in dem sich Ihre Datei server.js befindet, und erstellen Sie einen Ordner namens "cloud". Erstellen Sie dann die main.js Datei in den Cloud-Ordnern mit folgendem Inhalt:

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

nun die server.js Datei öffnen und die Zeile mit dem Weg in die Cloud-Code-Datei finden. Ändern Sie es Ihnen zeigen main.js wie diese Datei:

server.js config file

Dieser jeder beliebigen Ordner Ihrer Wahl sein könnte. Jetzt neu starten Sie einfach Ihren Parse-Server und rufen Sie die Cloud-Funktion:

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

Das mit dem Java SDK ist aber nicht viel anders sein sollte. Das variable Ergebnis ist gleich "Hi", wenn Sie die Funktion von oben verwendet haben.

+0

Ich benutze auch den Bitnami-Stack, aber sobald ich den Cloud-Parameter von ./node_modules/parse-server/lib/cloud-code/Parse.Cloud.js in ./cloud/main.js ändere, wird meine Website nicht mehr ausgeführt - Ich versuche, meinen Cloud-Code an die Parse.Cloud.js-Datei anzuhängen, aber selbst dann hört es auf zu arbeiten. Ich muss meinen eigenen Cloud-Code auf den Server migrieren, wie mache ich das? Vielen Dank. – Meeyam

+0

@Meeyam Bitte überprüfen Sie die Parse-Logs und posten Sie eventuelle Fehlermeldungen. Ich fand die meisten Fehler können auf diese Weise leicht gelöst werden. Wenn Sie den Server stoppen, wird Ihnen angezeigt, wo sich das Protokoll befindet. – fusion44

Verwandte Themen