2016-02-13 20 views
5

Ho appena effettuato la migrazione di un server di analisi e tutto funziona, ad eccezione del codice cloud. Sono giunto alla conclusione che è perché nel mio main.js richiedo la libreria "Underscore".Impossibile ottenere 'underscore' per funzionare con il server di analisi

Questa è la mia funzione di codice nuvola:

Parse.Cloud.define("ReadyUp", function(request, response) { 
var _ = require('underscore'); 
    var fbid = request.user.get("fbid"); 
    var query = new Parse.Query("Spel"); 
    query.equalTo("lobby", fbid); 
    query.find().then(function(results) { 
     _.each(results, function(spel) { 
      spel.addUnique("ready", fbid); 
     }); 
     return Parse.Object.saveAll(results); 
    }).then(function(result) { 
     response.success(result); 
    }, function(error) { 
     response.error(error); 
    }); 
}); 

Il codice ha lavorato senza errori prima della migrazione. Sto indovinando il bisogno non trova la cartella giusta. Per darvi struttura di cartelle che appare così:

posizione Cloudcode: mainfolder-> cloud> main.js

sottolineatura libreria: mainfolder-> node_modules-> sottolineatura (cartella)

Is il codice è difettoso o la struttura delle cartelle è difettosa?

Grazie in anticipo!

/Martin

+0

* "migrato un server di analisi" * ... cosa fa che in realtà significa? – charlietfl

+0

@charlietfl Scusa se non l'hai capito. Fondamentalmente, ho usato il servizio parse.com che è un back-end con database e ora li ho trasferiti su Heroku e su MongoDB –

+0

@MartinKjellberg hai aggiunto il carattere di sottolineatura nelle dipendenze di package.json? – Ilya

risposta

4

Bisogna puntare a correggere il file di sottolineatura. Ho fatto la seguente:

var _ = require('../node_modules/underscore/underscore.js') 
0

Add sottolineano alle vostre dipendenze nel package.json, sia manualmente o eseguire npm install underscore --save

Questo si tradurrà in una linea come questa:

"underscore": "^1.8.3" 

Da allora, si può in realtà lo faccio

var _ = require('underscore');