var app = require('express')();
app.get("https://stackoverflow.com/", function(req, res) {
res.sendFile(__dirname + "https://stackoverflow.com/" + "index.html");
});
<link rel="stylesheet" href="https://stackoverflow.com/questions/38757235/style.css">
Ich habe den obigen node.js-Code verwendet, um eine HTML-Datei zu senden. Um die HTML-Datei formatiert zu bekommen, muss ich eine andere CSS-Datei (style.css) senden.
Meine Frage ist: Wie kann ich diese beiden Dateien (index.html und style.css) mit sendFile() senden und zusammen auf der Clientseite integrieren?
Der Browser sollte geladen werden style.css
allein, so dass Sie das als Route dienen können:
app.get('/style.css', function(req, res) {
res.sendFile(__dirname + "https://stackoverflow.com/" + "https://stackoverflow.com/questions/38757235/style.css");
});
Dies wird jedoch sehr schnell sehr umständlich, wenn Sie weitere Dateien hinzufügen. Express bietet eine integrierte Möglichkeit, statische Dateien bereitzustellen:
https://expressjs.com/en/starter/static-files.html
const express = require("express");
const app = express();
app.use(express.static(__dirname));
Denken Sie daran, dass wenn index.html
im selben Verzeichnis wie Ihr Servercode befindet, werden Sie den Servercode auch als statische Dateien bereitstellen, was unerwünscht ist.
Stattdessen sollten Sie sich bewegen index.html
Ihre CSS, Bilder, Skripte usw. in ein Unterverzeichnis wie z public
und verwenden:
app.use(express.static("public"));
Wenn Sie dies tun, wird Express bedient index.html
automatisch und Sie können Ihre entfernen app.get("https://stackoverflow.com/"
auch.