我希望Node.js在域名为localhost:3000 / form时读取form.html,但由于某种原因,它总是给我一个错误500页。
fs.readFile的回调函数中的content参数未定义,即使文件的路径正确。
app.get('/form', function(req, res){
fs.readFile('/form.html', function(error, content){
if(error){
// This get's always executed... I don't know why.
// content = undefined.
res.writeHead(500);
res.end();
}
else{
res.writeHead(200, { 'content-type' : 'text/html' });
processFile(content);
res.end(content, 'utf-8');
}
});
});
添加了错误消息:
{[错误:ENOENT,打开'C:\ form.html']错误:34,代码:'ENOENT', 路径:'C:\ form.html'}
我是否必须指定文件的完整路径......?
我删除后/我得到这条路径:
C:\用户\ deno_000 \ form.html
我的文件都在同一个目录中,在我的编辑器的左侧你可以看到它:
答案 0 :(得分:2)
/
=根目录。
删除/
或在form.html
或./form.html
之前添加一个点。
.
是当前目录
..
是父目录
./form.html
= [current directory]/form.html
]
错误类似于找不到文件。
html文件需要与.js节点文件位于同一文件夹中才能生效。如果您在另一条路径中使用它,请使用该路径。 \
注意您也可以使用:
路径#
稳定性:3 - 稳定 此模块包含用于处理和转换文件路径的实用程序。几乎所有这些方法都只执行字符串转换。不查询文件系统以检查路径是否有效。
使用require('path')来使用此模块。
答案 1 :(得分:0)
有同样的问题。使用__dirname修复它。