Проблема с операцией чтения файла в node.js? - PullRequest
0 голосов
/ 24 июня 2019

Постановка задачи:

Завершить функцию readFile, чтобы прочитать содержимое файла sample.txt. и вернуть содержимое в виде простого текстового ответа.

Примечание: убедитесь, что при чтении файла укажите его полный путь. например, предположим, что вы должны прочитать файл xyz.txt тогда вместо написания «./xyz.txt» или «xyz.txt» напиши как ${__dirname}/xyz.txt

Мой код:

const fs = require('fs');
const path = require('path');

let readFile = () => {

let file = path.join(__dirname,'/xyz.txt') ;
let variableFile = fs.readFileSync(file);
return variableFile.toString();
};

module.exports = {

    readFile:readFile

};

1 Ответ

0 голосов
/ 24 июня 2019

Вы должны передать параметр кодирования в readFileSync, или он вернет буфер:

const variableFile = fs.readFileSync(file,  "utf8");
return variableFile;

PS: Вы не должны использовать синхронные вызовы в работе, есть очень удобный API, называемый "promisify", который позволяет вам использовать async / await или обещания с помощью fs:

const {promisify} = require('util');
const fs = require('fs');
const readFile = promisify(fs.readFile);

const example = async () => {
    const file = await readFile(/*...*/);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...