Javascript Node.js fs.ReadFile始终返回错误
我希望Node.js在域名为localhost:3000/form时读取form.html,但由于某些原因,它总是给我一个错误500页 fs.readFile的回调函数中的content参数未定义,即使文件的路径正确Javascript Node.js fs.ReadFile始终返回错误,javascript,node.js,Javascript,Node.js,我希望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 alw
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');
}
});
});
添加了错误消息:
{[Error:enoint,打开'C:\form.html']errno:34,代码:'enoint',
路径:'C:\form.html'}
我必须指定文件的完整路径吗
在我删除/I获取此路径后:
C:\Users\deno\u 000\form.html
我的文件都在同一个目录中,在我的编辑器的左侧可以看到:
/
在大多数文件系统中=根目录
删除/
或在前面添加一个点,如form.html
或/form.html
是当前目录
。
是父目录
/form.html
=[当前目录]/form.html
]
该错误与未找到文件类似
html文件需要与.js节点文件位于同一文件夹中,才能正常工作。如果它位于另一条路径中,请使用该路径\
注意:您还可以使用:
路径#
稳定性:3-稳定
此模块包含用于处理和转换文件路径的实用程序。几乎所有这些方法都只执行字符串转换。不查阅文件系统以检查路径是否有效
使用require('path')来使用此模块
也有同样的问题。使用_dirname修复了它。如果您记录错误并在此处发布错误消息,这会有所帮助。另外-只是猜测,但可能是“/form.html”,除非它在根目录中。我添加了错误消息,看起来我必须指定完整路径?不是完整路径只是删除/,节点认为您说的文件位于fs的根目录上,删除/将告诉节点使用相对路径。它仍然不是正确的路径。。。它将我带到:C:\\Users\\deno\u 000\\form.htmlemoving/will me to C:\\Users\\deno\u 000\\form.htmlea由于上次编辑提到您的路径可能格式错误,应为*nix路径,但提供了windows样式的路径。form.html在本地文件系统上的位置?C:\\Users\\deno\u 000\\js节点文件在哪里?请确保通过更改到项目目录并执行node app.jso,从cmd.exe启动节点。因此,我应该将路径转换为Unix样式并更改项目目录?node.js真的对Windows不友好吗。。。。