【发布时间】:2017-09-06 21:02:09
【问题描述】:
我在节点服务器上提供我的 html 文件时遇到问题。
“index.js”中的代码如下所示:
const express = require('express');
const app = express();
var path = require('path');
app.use(express.static(path.join(__dirname + '/public')));
app.get('/', function (req, res) {
res.sendFile('views/home.html');
});
app.listen(8081, function () {
console.log('Magic is happening on port 8081!');
});
这是我的文件结构的图片:
当我运行服务器时,它给了我这个错误:
TypeError: path must be absolute or specify root to res.sendFile
最后我需要一个可以服务多个不同页面的服务器,这只是我服务的第一页(如果第一页不起作用,那就没有意义了..)
我做错了什么?
【问题讨论】:
-
我对node.js一无所知,但是尝试将路径更改为
'/views/home.html' -
@Chrisstar,当我这样做时,我得到:错误:ENOENT:没有这样的文件或目录,stat '/views/home.html'。
-
请添加目录结构截图
-
会发生什么?您是否在控制台中看到错误。浏览器显示什么,什么状态码?
-
附注:为什么写
path.join(__dirname + '/public'),应该是path.join(__dirname, 'public')
标签: html node.js express static