繁体   English   中英

Nginx/Nodejs/Handlebars static 文件 404

[英]Nginx/Nodejs/Handlebars static files 404

我有一个带把手的 nodejs 应用程序,以及一个位于 ubuntu 服务器上的 nginx 反向代理。 无论我使用什么app.use(express.static('public'))和链接样式表的组合,我都只会在样式表上得到 404。 这是我的代码:

const express = require('express')
const path = require('path');
const hbs = require('hbs');

const app = express();
app.set('view engine', 'hbs');
app.use(express.urlencoded({ extended: true }))
app.use(express.static('public'));
hbs.registerPartials(path.join(__dirname, 'views/partials'));


app.get('/', async (req, res) => {

  if (req.query.prompt) {
    prompt = req.query.prompt;
  }

  res.render('index', {
    prompt: prompt,
  });

})

app.listen(8080, () => console.log('Listening on port 8080.'))

还有这个:

<!DOCTYPE html>
<html lang="en">

<head>
    <title>Title</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="index.css">
</head>

<body>
    <img src="profile.jpg" alt="photo">
</body>

</html>

任何帮助将不胜感激,是的:这个问题有很多潜在的重复但没有任何帮助我:/

我已经尝试了 /public、/index.css、/public/index.css 等的所有组合。

我的文件结构如下所示: 在此处输入图像描述

我找到了修复,它不是 nodejs 或 handlebars——它在我的服务器块中删除了以下行:

try_files $uri $uri/ =404;

我会把它留给任何可能觉得有用的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM