我正在尝试使用本地node.js服务器访问计算机上的任意html文件。问题是每当我尝试使用“fs”模块访问文件时,“data”变量都会出现未定义。
var http = require('http');
var fs= require('fs');
http.createServer(function (req, res) {
console.log(process.cwd());
//because the response is in the callback of readfile it will only serve data after fs.readfile loads
fs.readFile('Desktop\Practice_page\HTML\PRAC.html',function(err, data){
res.writeHead(200,{'Content-Type':'text/html'});
if(data===undefined)
res.write("frick");
else
res.write(data);
res.end();
});
}).listen(8080);
我的工作目录是C:\ Users \ MYC,因此相对路径应为Users \ MYC \ Desktop \ ect。我的语法有问题,还是我使用文件系统模块错了?
答案 0 :(得分:0)
路径错了。您必须使用__dirname
传递绝对路径。
fs.readFile( __dirname + '\Practice_page\HTML\PRAC.html' )
答案 1 :(得分:0)
你必须使用绝对路径。使用路径模块或添加完整目录列表。