Node.js - 如何跨平台查找“桌面”目录路径?

9
如在https://dev59.com/p2ox5IYBdhLWcg3wnlpI#32556337中提到的,require('os').homedir()是获取用户主目录的方法。
在Windows中,桌面路径位于user_home_dir/Desktop
require('path').join(require('os').homedir(), 'Desktop')

这能在其他平台上运行吗?
2个回答

2
抱歉回复晚了。
是的,它可以跨平台使用。到目前为止,我已在Windows 10和Ubuntu上进行了测试,两者都有积极的结果。
请见: Windows 10屏幕截图 Ubuntu屏幕截图

这绝对在本地化的Linux平台上不会起作用。例如,在it_IT语言环境下,桌面将位于$HOME/Scrivania - Andrea Lazzarotto

0

同样适用于 macOS;如果在桌面上无法工作,您当然可以回退到 homedir() 基目录:

import { homedir } from 'os';
import { existsSync } from 'fs';
import { resolve } from 'path';

const getDesktopOrHomeDir = () => {
  const homeDir = resolve(homedir())
  const desktopDir = resolve(homedir(), 'Desktop')
  if (!existsSync(desktopDir)) {
    return homeDir;
  }
  return desktopDir;
}

writeFile(resolve(getDesktopOrHomeDir(), 'myfile.txt'), 'foobar')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接