express: как отправить html вместе с css с помощью sendFile?
var app = require('express')();
app.get('/', function(req, res) {
res.sendFile(__dirname + "/" + "index.html");
});
<link rel="stylesheet" href="style.css">
я использовал вышеуказанный узел.JS код для отправки файла HTML. Чтобы отформатировать html-файл, мне нужно отправить другой файл css (стиль.стиль CSS.)
Мой вопрос: как я могу отправить оба этих файла(индекс.HTML и стиль.css) с помощью sendFile () и интегрировать их вместе на стороне клиента?
1 ответов
браузер должен загрузить style.css
самостоятельно, так что вы можете служить, что в качестве маршрута:
app.get('/style.css', function(req, res) {
res.sendFile(__dirname + "/" + "style.css");
});
однако это будет очень громоздким очень быстро, как вы добавляете больше файлов. Express предоставляет встроенный способ обслуживания статических файлов:
https://expressjs.com/en/starter/static-files.html
const express = require("express");
const app = express();
app.use(express.static(__dirname));
имейте в виду, что если index.html
находится в том же каталоге, что и ваш код сервера, вы также будете обслуживать код сервера как статические файлы, которые нежелательный.
вместо этого вы должны двигаться index.html
, ваш CSS, картинки, скрипты и т. д. в подкаталог такие как public
и использовать:
app.use(express.static("public"));
если вы это сделаете, Express будет служить index.html
автоматически, и вы можете удалить свой app.get("/"
как хорошо.