Leo*_*ban 2 javascript node.js express
这是我的文件夹结构:
我有src文件夹里面的所有内容,这src/index.html也是我想要指出的.我的节点服务器文件在src/server/server.js
当我运行正确的node src/server/server命令时,我收到以下错误:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.sendFile('index.html', { root: __dirname });
});
app.get('/category', (req, res) => {
res.end('Categories');
});
app.listen(8999, (res) => {
console.log(res);
});
Run Code Online (Sandbox Code Playgroud)
错误:ENOENT:没有这样的文件或目录,stat'/Users/leongaban/Projects/CompanyName/appName/src/server/index.html'
所以错误消息告诉我我需要再增加一个文件夹,所以想象如下:
app.get('/', (req, res) => {
res.sendFile('../index.html', { root: __dirname });
});
Run Code Online (Sandbox Code Playgroud)
但是现在我收到了一个Forbidden错误:
ForbiddenError:禁止
您收到Forbidden错误的原因是因为Node.js发现相对路径是../恶意的(例如,如果您根据用户输入获取文件,他可能会尝试访问您不希望他访问的文件系统上的文件).
您的代码应该使用如下路径:
var path = require('path');
res.sendFile(path.resolve(__dirname + '../index.html'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1493 次 |
| 最近记录: |