Показать сообщение отдельно
  #1 (permalink)  
Старый 28.02.2022, 01:30
Кандидат Javascript-наук
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 100

Node.js и fs-extra
Здравствуйте.

Подскажите пожалуйста, не могу понять логику работы функции fs.outputJson()

Если она не может найти файл то будет создавать его, а дело в том что я немного запутался в логике восприятия пути к файлам.

Как пример, вот такое дерево каталогов:

module
-index.js // тут запускается функция fs.outputJson()
dir
-foo // в этом каталоге создание файла
--exemple.json

И так, к примеру если указать так:
fs.outputJson('../dir/foo/file.json', {name: "foo"})


По какой-то причине файл не создастся, что для меня кажется непонятным ведь путь к директории указан правильно.

А если указать так:

fs.outputJson(path.resolve(__dirname, '..', 'dir', 'foo', 'file.json'), {name: "foo"})


То файл будет создан. Это из-за особенности функции path.resolve() которая ставит слеши в нужную строну? Тогда почему такой вариант будет работать?

fs.readdir('../dir/foo')


Объясните пожалуйста почему так происходит, не могу понять. (Документацию читал но не нашёл объяснения этому)
Ответить с цитированием