Javascript Node.js fs.ReadFile始终返回错误

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

我希望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');
        }
    });
});
添加了错误消息:

{[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不友好吗。。。。