使用本地Node.js测试服务器访问文件

时间:2017-07-01 19:14:16

标签: javascript node.js

我正在尝试使用本地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。我的语法有问题,还是我使用文件系统模块错了?

2 个答案:

答案 0 :(得分:0)

路径错了。您必须使用__dirname传递绝对路径。

fs.readFile( __dirname + '\Practice_page\HTML\PRAC.html' )

答案 1 :(得分:0)

你必须使用绝对路径。使用路径模块或添加完整目录列表。