【问题标题】:Wrong server paths node js express错误的服务器路径节点 js express
【发布时间】:2022-01-13 03:28:13
【问题描述】:

我正在尝试部署我的节点 js express 应用程序。但它走错了路。

app.use("/", express.static(__dirname + "/public")) 在 server.js 中 我的风格路径是

样式目录是 /public/styles/brandAnimation.css

【问题讨论】:

  • 什么是错误的路径? 404?请出错。

标签: node.js express deploying


【解决方案1】:

如果您在 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() 要查看的任何目录中。


如果这对您不起作用,那么我们需要这些信息:

  1. 您的 HTML 页面中的确切样式表链接
  2. 包含app.use(express.static(...)) 语句的服务器文件的绝对文件夹位置。
  3. 要提供的 CSS 文件的绝对文件夹位置和文件名。

要进行故障排除,请将其添加为 Express 服务器中的第一个中间件:

app.use((req, res, next) => {
    console.log(`Incoming request: ${req.path}`);
    next();
});

这将显示到达您的 Express 服务器的确切请求。如果此处没有显示 css 文件,则可能是您的 nginx 配置不正确。

【讨论】:

  • 仍然无法正常工作或者我做错了什么。有没有可能是来自 nginx 的东西?
  • @EmilZlatinov - 请参阅我添加到答案末尾的故障排除步骤。添加,重新启动服务器,加载网页并在此处报告控制台中显示的内容。另外,由于它不起作用,请提供我的答案要求的三条信息。
  • 它说“传入请求:/”但没有出现...
  • 好吧,incoming request: / 与您的样式表没有任何关系,所以问题可能在它到达样式表之前就出现了。您能否向我们展示所有相关的快速代码,包括您正在加载的任何网页的所有中间件和请求处理程序以及该网页的 HTML?
  • 而且,你提到了 nginx。你在用 Nginx 做什么?
猜你喜欢
  • 1970-01-01
  • 2017-12-06
  • 2023-03-10
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 2018-05-31
相关资源
最近更新 更多