javascript - node.js fs.existsSync 总是返回 false
我在这个路径上有一个文件:~/Downloads/flightlog_2017-71-19_19747.txt
但当我尝试写入或检查它是否存在时:
fs.existsSync('~/Downloads/flightlog_2017-71-19_19747.txt')它总是返回 false
如果我在终端中操作:
$ nano ~/Downloads/flightlog_2017-71-19_19747.txt这很好用
答案#1
您可以使用 const homedir=require('os').homedir(); 动态获取的 homedir 来替换 ~。
所以不是:
fs.existsSync('~/Downloads/flightlog_2017-71-19_19747.txt')你可以做类似这样的事情:
const homedir = require('os').homedir();
fs.existsSync(homedir + '/Downloads/flightlog_2017-71-19_19747.txt')
希望这有帮助!
答案#2
我不认为在 Node 中使用 ~ 来引用用户的主目录是被支持的。因为在 Windows 中没有相应的命令。
你可以关注这个讨论帖以获取完整的讨论。https://github.com/nodejs/node/issues/684
目前你可以使用 untildify npm 包来满足你的需求。
