2016-11-23 4 views
0

Wenn ich meinen node.js-Server auf meinem Computer ausführen, funktioniert es einwandfrei. Allerdings, wenn ich in eine Maschine ssh bin ich von Digital Ocean, wirft es diesen Fehler. Ich benutzte den Flugplan, um meine Dateien auf die Maschine zu verschieben.Node.js Express Server funktioniert nicht auf einem anderen Server, aber funktioniert auf meinem Computer

[email protected]:~/node-app/bin$ node www 

/home/deploy/node-app-1479873242669/routes/index.js:76 
         [newValue]: { 
         ^
SyntaxError: Unexpected token [ 
    at Module._compile (module.js:439:25) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/home/deploy/node-app-1479873242669/app.js:36:18) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 

Dies ist der Code über den Fehler:

  if (isNaN(value)) { 
       newValue = 0; 
       console.log("queuer val " + newValue); 
       fbRef.update({ 
        [newValue]: { 
         [UID]: ID 
        } 
       }); 
      } 

Und wie ich schon sagte, das funktioniert auf meiner Maschine völlig in Ordnung. Vielen Dank!

+0

In Ihrem Droplet ist wahrscheinlich eine ältere Version von Node installiert, die diese ES6-Syntax nicht unterstützt. Sie können dies mit 'node -v' überprüfen. Die erste Version des Knotens, der diese bestimmte Syntax unterstützt, war Knoten v4.0.0. – mscdex

Antwort

1

Knoten Update auf die neueste Version:

wget -qO- https://deb.nodesource.com/setup_6.x | sudo bash - 
sudo apt-get -y install nodejs 

Sollte danach arbeiten.

1

Das Erstellen von Objekten mit berechneten Schlüsseln ist Teil von ES2015 Standard (ES6). Siehe Object Initializer spec.

in Ihrem Fall, Vanille JavaScript dies nicht unterstützt:

[newValue]: { 
    [UID]: ID 
} 

So wahrscheinlich Ihre node -v wird über v6.0.0 sein, etwas, aber der andere Server wird eine ältere Version sein. Entweder aktualisieren Sie die Knotenversion oder verwenden Sie babel-node mit Voreinstellungen.

Verwandte Themen