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自行加载,因此您可以将其用作路由:
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
相反,您应该将index.html,css,图像,脚本等移动到一个子目录,例如命名public并使用:
public
app.use(express.static("public"));
如果这样做,Express将index.html自动提供服务,您也可以删除app.get("/"它。
app.get("/"