2016-04-06 16 views
0

Ich habe ein seltsames Problem, wo unser Staging-Server einen 500 Fehler wirft beim Versuch, css oder js Assets abrufen. Wir verwenden Broccoli, um die Assets in ein Distributionsverzeichnis zu kompilieren, also habe ich ~/dist/assets/app.css (sowie app.js und ein img-Verzeichnis). Bilder scheinen gut serviert zu werden! Nur die Dateien app.js und app.css werfen den 500-Fehler auf. Ich habe sichergestellt, dass die Dateien definitiv an ihren richtigen Orten existieren. Wir verwenden express.js und das serve-static-Modul. Code ist einfach:Serving statische Dateien in node.js - 500 interne Serverfehler

serveStatic = require('serve-static'); 
app.use(serveStatic('dist/assets')); 

schlagen Then 'http://url.com/assets/app.css' die 500. wirft Schlagen 'http://url.com/app.css' funktioniert. Dies scheint in Ordnung zu sein (da ich dist/assets belege, also sollte die Anfrage relativ zu/assets sein), aber dies war alles, was mit dem Präfix/assets auf der Anfrage vor ein paar Tagen gearbeitet hat. In den Protokollen wird keine Fehlerausgabe erzeugt. Stank auf diesem einen. Ich möchte nur sicherstellen, dass ich nichts zu blöd mache.

Antwort

2

Haben Sie versucht:

serveStatic = require('serve-static'); 
app.use(serveStatic('dist')); 

serveStatic (root, Optionen)

eine neue Middleware-Funktion Erstellen von Dateien aus einem Stammverzeichnis gegeben zu dienen.

Auf der Grundlage dieser Aussage, sollten Sie erwarten, dass „serveStatic (‚dist/assets‘)“ von den app.css http://url.com/app.css

+0

wird dazu dienen, mit Ja, das funktioniert, natürlich, aber das war Setup mit " dist/assets 'und das funktionierte irgendwie auch. Ich weiß es nicht, ich werde etwas herausfinden. –

+0

serve-static verwendet die Eingabe "root" als Stammordner für statische Assets. Also, wenn Sie die Datei aus "/assets/app.css" ziehen möchten, müssen Sie den Stamm von "dist" verwenden –

+0

Macht Sinn, danke. Ich versuche herauszufinden, wie das vorher funktioniert hat und wollte sicherstellen, dass ich nichts Dummes mache. Es wurde definitiv "dist/assets" verwendet, und das Anforderungs-Präfix war "/assets/app.css". Blah. –

Verwandte Themen