ExpressJS: Wie ignoriere ich öffentliche statische Dateien in meiner Route?

7
%Vor%

stimmt mit Dateien überein, die sich in meinem öffentlichen Verzeichnis befinden. Also wenn ich ein Stylesheet einschließe:

%Vor%

Der Knoten stimmt mit /stylesheets/style.css überein und weist name dem Wert stylesheets und group den Wert style.css .

Was ist der beste Weg, dies zu vermeiden?

    
Luke Burns 16.07.2011, 19:32
quelle

3 Antworten

21

Am einfachsten ist es, sicherzustellen, dass express die statische Provider-Middleware vor der Router-Middleware ausführt. Sie können dies tun, indem Sie:

%Vor%

Auf diese Weise wird die statische Datei es finden und antworten und der Router wird nicht ausgeführt. Ich hatte ähnliche Verwirrung mit der Standardposition des Fräsers (zuletzt), die mit meiner Zusammenstellung der coffeescript Akten versaut ist. Zu Ihrer Information: Es gibt Dokumente zu diesem hier (durchsuchen Sie die Seite nach app.router und Sie erhalten einen erläuternden Absatz.

    
Peter Lyons 16.07.2011, 20:15
quelle
2

Sie könnten auch einen Reverseproxy wie Nginx verwenden, der die statischen Dateien für Sie verwaltet. Ich glaube, dass viele professionelle Node- / Ruby-on-Rails-Setups so vorgehen.

    
Mauvis Ledford 19.07.2011 23:45
quelle
1

Für alle, die es brauchen könnten, verwendete meine Lösung Middleware. Wenn jemand eine bessere Lösung findet, lass es mich wissen!

%Vor%     
Luke Burns 16.07.2011 20:02
quelle

Tags und Links