从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()方法。