摘自fs.readdirSync(path)
的文档:同步readdir(3)。返回文件名数组,不包括 '.'
和 '..'
.
我愿意:
console.log(require('fs').readdirSync('~'))
我收到未捕获错误:ENOENT,没有这样的文件或目录“~”
。
我是否做错了什么,或者 readdirSync
出于某种原因无法与 Node-Webkit 一起使用?我应该使用其他方式来读取主目录吗?
最佳答案
波形符 ~
是一个 bash 函数,因此 Node 无法识别其含义。
在这种情况下,您需要在 readDirSync()
函数中使用主目录的绝对路径。
在Unix系统上,还可以使用环境变量$HOME,其中~是别名。
var path = process.env.HOME;
Windows 等效环境变量是 HOMEPATH。
编辑:
正如OP提到的,npm pakage path-extra提供了一个跨平台的homedir()方法
关于node.js - Node-Webkit:fs.readdirSync ("~")不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26204935/