小编典典

在 Node.js 中读取文件

all

我对在 Node.js 中读取文件感到很困惑。

fs.open('./start.html', 'r', function(err, fileToRead){
    if (!err){
        fs.readFile(fileToRead, {encoding: 'utf-8'}, function(err,data){
            if (!err){
            console.log('received data: ' + data);
            response.writeHead(200, {'Content-Type': 'text/html'});
            response.write(data);
            response.end();
            }else{
                console.log(err);
            }
        });
    }else{
        console.log(err);
    }
});

文件start.html与试图打开和读取它的文件位于同一目录中。

但是,在控制台中我得到:

{ [错误:ENOENT,打开’./start.html’] errno:34,代码:’ENOENT’,路径:’./start.html’}

有任何想法吗?


阅读 67

收藏
2022-06-10

共1个答案

小编典典

使用path.join(__dirname, '/start.html')

var fs = require('fs'),
    path = require('path'),    
    filePath = path.join(__dirname, 'start.html');

fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
    if (!err) {
        console.log('received data: ' + data);
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.write(data);
        response.end();
    } else {
        console.log(err);
    }
});

感谢 dc5。

2022-06-10