express: how to send html together with css using sendFile? express: how to send html together with css using sendFile? express express

express: how to send html together with css using sendFile?


The browser should load style.css on its own, so you can serve that as a route:

app.get('/style.css', function(req, res) {  res.sendFile(__dirname + "/" + "style.css");});

However, this would get very cumbersome very quickly as you add more files. Express provides a built in way to serve static files:

https://expressjs.com/en/starter/static-files.html

const express = require("express");const app = express();app.use(express.static(__dirname));

Keep in mind that if index.html is in the same directory as your server code you will also serve the server code as static files which is undesirable.

Instead you should move index.html, your css, images, scripts, etc. to a subdirectory such as one named public and use:

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

If you do this, Express will serve index.html automatically and you can remove your app.get("/" as well.