表达:如何使用sendFile将HTML和CSS一起发送?

var app = require('express')();

app.get('/', function(req, res) {

res.sendFile(__dirname + "/" + "index.html");

});

<link rel="stylesheet" href="style.css">

我使用上面的node.js代码发送了一个html文件。为了获得格式化的html文件,我需要发送另一个CSS文件(style.css)。

我的问题是:如何使用sendFile()发送这两个文件(index.html和style.css)并将它们集成到客户端?

回答:

浏览器应style.css自行加载,因此您可以将其用作路由:

app.get('/style.css', function(req, res) {

res.sendFile(__dirname + "/" + "style.css");

});

但是,随着您添加更多文件,这将变得非常麻烦。Express提供了一种内置的方式来服务静态文件:

https://expressjs.com/cn/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("/"它。

以上是 表达:如何使用sendFile将HTML和CSS一起发送? 的全部内容, 来源链接: utcz.com/qa/410436.html

回到顶部