Wird eckig vom node.js-Server ausgeführt

8

Ich habe folgende Dateien -

1) index.html

2) app.js (Winkelregler hier)

3) routes.js (Ich versuche, index.html von hier zu laden - lauscht auf localhost: 3000)

4) index.css

5) node_modules-Ordner

routes.js:

%Vor%

Wenn ich die Datei index.html normal öffne, indem ich im Datei-Explorer auf sie klicke, wird sie wie erwartet geöffnet.

Aber wenn ich routes.js ausführe, um dieselbe index.html -Datei zu erhalten, bekomme ich den rohen HTML-Code ohne Winkeleffekte. Warum ist das?

Danke!

BEARBEITEN:

Ich kann jetzt von localhost:3000/public/ auf meine index.css und app.js zugreifen. Ich habe app.use("/public", express.static('public')); in meinem routes.js verwendet.

Aber jetzt kann ich nur css auf meiner Seite finden, aber es sieht immer noch aus, als wäre eckig nicht enthalten. Ich konnte die Tabs nicht sehen. Bitte schauen Sie sich den obigen Screenshot von index.html file mit Tabs an.

Wie kann ich angular einschließen? Ist es nicht im HTML-Code enthalten?

index.html -

%Vor%

BEARBEITEN: Ich habe es gelöst, indem ich

eingefügt habe %Vor%

in meiner Datei routes.js. Also verwendet express jetzt auch diesen Ordner, also werden angular -Dateien in diesem Ordner verwendet, um meine index.html-Datei zu bedienen. Jetzt führt mein localhost:3000/ zu dem erwarteten Ergebnis. Danke!

    
Nikhil 31.07.2015, 12:10
quelle

2 Antworten

4

Sieht so aus, als ob Ihre statischen Dateien (js / css) nicht über expressjs zugänglich sind, können Sie in einer Browser-Konsole nachsehen, ob es 404 ist?

Übrigens haben Sie das Verzeichnis hinzugefügt, in dem app.js als statisch gespeichert ist in expressjs oder befindet es sich im selben Verzeichnis wie index.html ?

Etwas wie:

%Vor%

Alternativ können Sie eine Route zu Ihrem app.js hinzufügen:

%Vor%

aber es ist nicht empfehlenswert, nur für die Tests.

    
teamnorge 31.07.2015, 12:23
quelle
1

Sie betreiben Ihren Knotenserver.

Also, Sie haben den Pfad für Ihre statischen Dateien wie js, css erwähnt.

Definieren Sie den Pfad für Ihre app.js , die Ihren Controller enthält.

Angenommen, Ihr app.js befindet sich im öffentlichen Ordner im Stammverzeichnis,

Definiere dies in deinem route.js

app.use (express.static ('public'));

    
RIYAJ KHAN 31.07.2015 12:44
quelle