好的,我一直在为初学者关注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>
有人知道怎么回事吗?
答案 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>
希望这会有所帮助!