【发布时间】:2022-01-13 03:28:13
【问题描述】:
我正在尝试部署我的节点 js express 应用程序。但它走错了路。
app.use("/", express.static(__dirname + "/public")) 在 server.js 中 我的风格路径是
样式目录是 /public/styles/brandAnimation.css【问题讨论】:
-
什么是错误的路径? 404?请出错。
我正在尝试部署我的节点 js express 应用程序。但它走错了路。
app.use("/", express.static(__dirname + "/public")) 在 server.js 中 我的风格路径是
样式目录是 /public/styles/brandAnimation.css【问题讨论】:
如果您在 HTML 页面中的链接是:
<link rel="stylesheet" href="/styles/brandAnimation.css">
而且,/public 是包含app.use("/", express.static(__dirname + "/public")) 的服务器文件所在的子文件夹,而brandAnimation.css 位于styles/brandAnimation.css 下的/public 文件夹中,那么这应该可以工作。
我还建议您将 express.static() 行更改为:
app.use(express.static(__dirname + "/public"));
基本上,您的样式表页面的 URL 需要以 / 开头,并且需要添加到您告诉 express.static() 要查看的任何目录中。
如果这对您不起作用,那么我们需要这些信息:
app.use(express.static(...)) 语句的服务器文件的绝对文件夹位置。要进行故障排除,请将其添加为 Express 服务器中的第一个中间件:
app.use((req, res, next) => {
console.log(`Incoming request: ${req.path}`);
next();
});
这将显示到达您的 Express 服务器的确切请求。如果此处没有显示 css 文件,则可能是您的 nginx 配置不正确。
【讨论】:
incoming request: / 与您的样式表没有任何关系,所以问题可能在它到达样式表之前就出现了。您能否向我们展示所有相关的快速代码,包括您正在加载的任何网页的所有中间件和请求处理程序以及该网页的 HTML?