2017-03-18 1 views
1

Ich versuche, eine Anwendung über Heroku bereitzustellen, die nur eine index.html Seite mit etwas Javascript und CSS ist. Ich habe mein Github-Repository als Deployment-Methode mit ihm verbunden, aber es scheint nie zu funktionieren.Wie host eine einfache index.html mit einigen Javascript und CSS auf Heroku?

Jedes Mal, wenn ich "Heroku Logs" eintippe, spuckt es zurück: "npm ERR! Fehlendes Skript: Start" zuerst.

Von dem, was ich gesucht habe, sagt es mir, dass ich hinzufügen muss "Start": "somefile.js" als Ausgangspunkt in package.json, aber dies ist eine sehr einfache index.html Seite mit Javascript aufgerufen von wann immer ein paar Tasten gedrückt werden.

Wie soll ich das schaffen?

Antwort

0

Heroku ist nicht wirklich zum Hosten von statischen Websites ohne dynamisches Server-Back-End geeignet. Wenn Sie das tun möchten, sollten Sie einen geeigneten statischen Dateihost wie Amazon S3, Netlify, etc. in Betracht ziehen.

Allerdings - wenn Sie dies auf Heroku tun möchten, können Sie dies tun, indem Sie eine wirklich erstellen einfache Anwendung (hier ist ein Artikel, der zeigt, wie man es mit Ruby macht): https://devcenter.heroku.com/articles/static-sites-ruby

0

Vereinbaren Sie mit @rdegges, Sie brauchen eine Art von http-Server. Ein einfacher HTTP-Knotenserver ist auch ziemlich einfach zu implementieren.

Eine vollständige Anleitung zur Verfügung, aber die Tasten Schritte sind:

  1. Vergewissern Sie sich, [Knoten, npm, Heroku CLI] installiert.
  2. In der Wurzel Ihres Projektverzeichnisses, führten npm init-
  3. Run npm install --save express (dies wird ein package.json in Ihrem Stammprojektverzeichnis erstellen) - (dies als Abhängigkeit der package.json Datei-Express wird)
  4. erstellen Datei namens Procfile im Stammverzeichnis. (Inhalt: web: npm app.js)
  5. Erstellen Sie eine Datei mit dem Namen app.js im Stammverzeichnis. (Inhalt unten)
  6. Commit Änderungen, Push-to-Heroku - git push heroku master

Das sollte es tun. Stellen Sie sicher, dass sich alle Ihre Dateien in einem Verzeichnis mit der Bezeichnung public befinden, wie in der Datei app.js angegeben, oder ändern Sie das, um anzuzeigen, wo sie sich tatsächlich befinden.

app.js:

var express = require('express'); 
var app = express(); 

app.use('/', express.static('public')); 

app.listen(process.env.PORT || 8080); 

Voll Tutorial: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

Verwandte Themen