Подтвердить что ты не робот

Node.js - как получить папку пользовательских данных платформы ОС

Я полный новичок в Node.js

Я ищу способ получить папку userdata с помощью Node.js, который будет работать как в окнах, так и в macOS

экземпляр Node.js будет запущен на пользовательской машине

это вернет следующее:

C:\Documents and Settings\JohnD\Application Data - Windows XP

C:\Users\JohnD\AppData\Roaming - Windows Vista and Up

/Users/JohnD/Library/Preferences - MacOS

Это возможно?

Спасибо

4b9b3361

Ответ 1

Вы можете проверить пользовательскую среду, которая хранится в process.env

Кроме того, посмотрите process.platform

Конкретно:

% node                                                                                                                                 
> console.log(process.env.HOME)
/Users/miktam
> console.log(process.platform)
darwin

Имея эту информацию, вы сможете достичь того, что вам нужно.

Ответ 2

Попробуйте следующее:

process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + 'Library/Preferences' : process.env.HOME + "/.local/share")

Ожидаемый результат:

OS X - "/Пользователи/Пользователь/Library/Настройки"

Windows 8 - "C:\Users\user\AppData\Roaming"

Windows XP - "C:\Documents and Settings\пользователь\Данные приложения"

Linux - '/home/user/.local/share'