Express js app.use()无法正常工作?

时间:2019-03-17 18:12:03

标签: node.js express

好的,我一直在为初学者关注fcc node js教程。我无法从快速框架中使用use()函数来工作。我按照所有步骤进行操作(完全复制了他的操作),但是当我打开Chrome / Firefox调试控制台时,我看到我的文件夹没有交换为我设置的别名(是“静态”而不是“上市')。对于任何想知道的人,我都会停留在这部分上-> https://youtu.be/-FV-moMWRSA?t=230

我的代码:

const path = require('path');
const express = require('express');
const app = express(); //this function returns an object with many functions

app.use('/public', express.static(path.join(__dirname, 'static')));
app.get('/',
(req, res) => {
  res.sendFile(path.join(__dirname, 'static', 'index.html'));
});

app.listen(3000);

我的html:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="/static/css/main.css">
  <script src="/static/js/main.js"></script>
</head>
<body>
  <p>Test paragraph</p>
</body>
</html>

有人知道怎么回事吗?

1 个答案:

答案 0 :(得分:1)

您的html路径错误。由于您在中间件中使用/public,因此只会在静态文件夹中查找带有/public的请求,以查看是否存在具有所请求名称的文件。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="/public/css/main.css">
  <script src="/public/js/main.js"></script>
</head>
<body>
  <p>Test paragraph</p>
</body>
</html>

希望这会有所帮助!