Ich betreibe einen node.js-Server unter Verwendung des express.js-Frameworks auf heroku.
So sieht mein Server aus:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/static'));
var port = process.env.PORT || 8000;
app.listen(port);
Meine index.html-Datei enthält die folgenden Javascript-Links:
<script src="/js/chartview.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/bootstrap-select.js"></script>
Mein Verzeichnissystem sieht so aus:
server.js
/static
-index.html
-/js
-bootstrap.js
-bootstrap-select.js
-chartview.js
-/css
-bootstrap.css
-bootstrap-select.css
-styles.css
Chrome zeigt meine HTML-Seite mit den entsprechenden CSS-Stilen an, die Konsole sagt jedoch:
Failed to load resource: the server responded with a status of 404 (Not Found) https://websitename.herokuapp.com/js/chartview.js
Failed to load resource: the server responded with a status of 404 (Not Found) https://websitename.herokuapp.com/js/bootstrap.js
Failed to load resource: the server responded with a status of 404 (Not Found) https://websitename.herokuapp.com/js/bootstrap-select.js
Es wird ordnungsgemäß geladen, wenn ich meine index.html-Tags so verändere, dass sie folgendermaßen aussehen:
<script src="chartview.js"></script>
<script src="bootstrap.js"></script>
<script src="bootstrap-select.js"></script>
Und ich ändere meine Verzeichnissysteme so, dass sie so aussehen:
server.js
/static
-index.html
-bootstrap.js
-bootstrap-select.js
-chartview.js
-/css
-bootstrap.css
-bootstrap-select.css
-styles.css
Dies ist nicht ideal, da ich einen/js-Ordner hätte.
Anregungen werden sehr geschätzt!
Beim Konsolenfehler https://websitename.herokuapp.com/js/chartview.js
wird die Datei nicht im statischen Ordner geprüft.
Ändern Sie also Ihre index.html so, dass sie Skripts enthält.
<script src="js/chartview.js"></script>
das heißt /
von Anfang an entfernen. as path ist relativ zu index.html.
Folgen Sie dem gleichen Vorgang für die anderen drei Dateien.
Sie haben auch erwähnt, dass die CSS-Dateien korrekt geladen werden. Können Sie zeigen, wie genau diese CSS-Dateien enthalten sind? der Pfad für css.
Kommentar hier, wenn das nicht hilft.
Platzieren Sie Ihre Dateien im öffentlichen Ordner und verwenden Sie den Pfad "".