Задать путь для fs.appendFileSync? - PullRequest
0 голосов
/ 05 ноября 2019

Как установить путь для fs.appendFileSync? Например, я хочу создать файл в папке «X», но мой код находится в папке выше. Как создать файл в папке, отличной от той, в которой находится мой код (файл создается в той же папке, что и исходный код).

Я прочитал документацию, но не понимаю, какЯ мог бы указать, где создать файл.

1 Ответ

0 голосов
/ 06 ноября 2019

Переменная __dirname представляет каталог, в котором находится текущий запущенный скрипт. Итак, если вы хотите поместить файл в подкаталог ниже этого (скажем, он находится в переменной с именем someDir),тогда вы бы сделали это следующим образом:

const path = require('path');

let pathToFile = path.join(__dirname, someDir, "filename.txt");

fs.appendFileSync(pathToFile, dataToWrite);

Если этот каталог еще не существует и вам нужно его создать, то вы можете использовать fs.mkDirSync() для создания i.

const path = require('path');

// make sure sub-directory is created
let dirForFile = path.join(__dirname, someDir);
if (!fs.existsSync(dirForFile) {
    fs.mkDirSync(dirForFile);
}
// append data to the file
let pathToFile = path.join(dirForFile, "filename.txt");
fs.appendFileSync(pathToFile, dataToWrite);
...