fs.readdirSync(path)的文档中:同步readdir(3)。返回除'.''..'之外的文件名数组。

我做:

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


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

我是在做错什么,还是readdirSync由于某种原因不能与Node-Webkit一起使用?我是否应该使用其他方式读取主目录?

最佳答案

代字号~是bash函数,因此Node无法识别其含义。

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

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

var path = process.env.HOME;


Windows等效的环境变量是HOMEPATH。

编辑:

如前所述,npm pakage path-extra提供了一个跨平台的homedir()方法。

10-08 15:45