2016-08-02 7 views
0
{ 
    "name": "******", 
    "version": "1.0.0", 
    "description": "*******", 
    "engines": { 
    "node": "6.3.1" 
    }, 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "cd server && npm install && node app.js" 
    }, 
    "author": "******", 
    "license": "ISC" 
} 

Insbesondere ist "Start" wonky? Dies ist die einzige Konfiguration von package.json, die bei der Bereitstellung meiner App bisher funktioniert hat. Ist 'npm install' im Startskript eine Redundanz und/oder kann es auf der Seite von heroku zu Verzögerungen führen? Heroku macht eine npm-Installation auf Build sowieso richtig? Also ich zeige es nur auf die richtigen node_module npm installieren?Ist es in Ordnung, eine Node.js App auf Heroku auf diese Weise zu starten?

Warum funktioniert es auch nur mit 'cd server & & node app.js' und nicht 'node server/app.js'?

Antwort

0

Es sieht so aus, als ob Ihre Knoten-App nicht im Stammverzeichnis Ihres Projekts vorhanden ist. Aus diesem Grund benötigen Sie zusätzliche Schritte, um Module zu installieren und die App zu starten. Standardmäßig installiert Heroku npm und startet aus dem Stammverzeichnis Ihrer Anwendung (sonst wie wäre es wissen, welches Verzeichnis „ist die App?“)

Sie sollten ein Scripts für hinzufügen:

"postinstall": "cd server && npm install" 

Und vereinfachen Sie Ihren Start-Skript:

"start": "cd server && node app.js" 

die Scripts für sicherstellen, dass Ihre Knotenmodule während der Aufbauphase (und gespeichert mit slug) gebaut werden - auf diese Weise, Ihre App muss nicht NPM jedes Mal installieren es beginnt.

0

Sie diesen Prozess, indem Sie Skript einfach laufen „Start“ vereinfachen „Knoten app.js“

Wenn Sie schieben Sie Ihr Projekt, das Sie Ihre npm install und npm start durch sie alle in der Wurzel läuft dann tun, um Heroku kann Verzeichnis.

heroku run npm install

heroku run npm start

Dies wird Ihre Anwendung anwerfen.

Versuchen Sie, Ihre Dateien zu verschieben, damit das Projekt vom Stammverzeichnis ausgeführt wird, und führen Sie dann diese Schritte aus.

Verwandte Themen