46

Windows と macOS の両方で動作する Node.js を使用して userdata フォルダーを取得する方法を探しています。

Node.js インスタンスは、ユーザーのマシンで実行されます。

次を返すものが必要です。

  • C:\Documents and Settings\JohnD\Application Data (WindowsXP)
  • C:\Users\JohnD\AppData\Roaming (Windows Vista 以降)
  • /Users/JohnD/Library/Preferences (マックOS)

これは可能ですか?

4

2 に答える 2

152

次のことを試してください。

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

期待される結果は次のとおりです。

OS X - '/Users/ user /Library/Preferences'

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

Windows XP - 'C:\Documents and Settings\ user \Application Data'

Linux - 「/home/ユーザー/.local/share」

于 2014-10-07T02:22:37.607 に答える
6

process.envに格納されているユーザー環境を確認できます

また、process.platformを見てください。

具体的には:

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

この情報があれば、必要なことを達成することができます。

于 2013-10-09T15:35:13.177 に答える