Ich bin mir sicher, dass dies ein Problem ist aufgrund meines begrenzten Verständnisses, wie EJS und Partials funktionieren, aber ich bin konfrontiert mit scheinbar bizarrem Verhalten in meiner Node.js App. Ich bin mit EJS als mein Template-Engine und meine grundlegende Verzeichnisstruktur ist wie folgt:Node.js EJS Partials
- public
----- css
----- js
---------- main.js
- views
----- index.ejs
----- about.ejs
----- login.ejs
----- admin
---------- user.ejs
---------- categories.ejs
----- _layouts
---------- footer.ejs
---------- head.ejs
---------- header.ejs
---------- nav.ejs
---------- scripts.ejs
- package.json
- app.js
Mein index.ejs ist einfach:
<% include _layouts/nav %>
<%- content %>
<% include _layouts/footer %>
Darüber hinaus können die nav.ejs umfasst Die head.ejs und die footer.ejs enthalten scripts.ejs.
Jetzt ist das seltsame Verhalten, dass auf dem index.ejs alles perfekt funktioniert und main.js "finden" kann. Wenn ich jedoch zu "about.ejs" oder "login.ejs" oder anderswo als "index.ejs" gehe, kann main.js nicht gefunden werden. Wenn ich den main.js-Code in diese Dateien "festcode", funktioniert alles wie erwartet. Ich weiß nicht, ob es ein Problem mit der Verschachtelung von Includes mit EJS-Dateien ist oder ob es ein relatives/absolutes Links-Problem ist, aber es hat mir in den letzten paar Tagen Kummer bereitet. Irgendwelche Tipps oder Ratschläge sind willkommen! Vielen Dank.
Wie nehmen Sie 'main.js' auf? Sehen Sie Fehler in Ihrer Browser-Konsole? Verwenden die Anfragen im Abschnitt "Netzwerk" die richtigen URLs? – skirtle
Ich schließe main.js als Teil der Datei scripts.ejs ein. –
Was ist mit meinen anderen Fragen? – skirtle