Node-Webkit:fs.readdirSync("〜")不起作用

时间:2014-10-05 16:53:48

标签: node.js filesystems node-webkit

来自fs.readdirSync(path)的文档:同步readdir(3)。返回不包含'.''..'的文件名数组。

我做:

console.log(require('fs').readdirSync('~'))

我得到Uncaught Error: ENOENT, no such file or directory '~'

我做错了什么或者readdirSync无论出于何种原因都无法使用Node-Webkit?我应该用其他方式阅读主目录吗?

1 个答案:

答案 0 :(得分:4)

波浪号~是一个bash函数,因此Node无法识别其含义。

在这种情况下,您需要在readDirSync()函数中使用主目录的绝对路径。

在Unix系统上,您还可以使用环境变量$ HOME,其中〜是别名。

var path = process.env.HOME;

Windows等效环境变量是HOMEPATH。

编辑:

正如OP所提到的,npm pakage path-extra提供了一个跨平台的homedir()方法