Meine Frage ist sehr ähnlich zu this stackoverflow Frage.Nodejs und Express statische Ansicht Routing
Ich habe meine Verzeichnisstruktur wie:
|-static
|---css
|---img
|---js
|-views
|---login.ejs
|---pure.html
|---dash
|-----dashboard.ejs
|-----alsopure.html
Meine Konfiguration:
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/static'));
Ich habe definiert auch die Routen wie:
app.get('/login', function(req,res){
//some locals
res.render('login.ejs', locals);
});
app.get('/dash', function(req,res){
locals.date = new Date().toLocaleDateString();
res.render('dash/dashboard.ejs', locals);
});
Im Ansicht Ordner, halte ich sowohl meine reine statische html als auch meine dynamischen ejs
Dateien.
Nun, wie kann ich die statische HTML aus dem Sichten-Verzeichnis dienen? Wenn ich den/views-Ordner hinzufügen würde, um als statische Datei zu dienen, könnte der Benutzer auch meine ejs-Dateien sehen, wenn sie die richtige URL treffen.
Da es mehrere HTML-Dateien gibt, möchte ich nicht für jede neue Seite eine neue Route hinzufügen.
Gibt es auch eine Möglichkeit für mich, meine Ansicht-Engine anzugeben, dass es sich um einen statischen HTML-Code handelt und diese Seite nicht "verarbeitet" werden muss?
Danke!
Warum verschieben Sie Ihre 'HTML'-Dateien nicht in einen statischen Ordner und liefern Dateien von dort? – CuriousMind
Oder Sie können einen Ordner "public" hinzufügen und es als statisch machen? –
@CuriousMind, da ich alle Ansicht bezogenen Inhalt in einem Ordner für den einfachen Zugriff und die Organisation behalten wollte. –