【发布时间】:2012-07-02 07:46:14
【问题描述】:
Supervisor 是 Node.js 的一个包,它监视应用目录中的文件是否有修改,并在发生修改时重新加载应用。
此脚本将符号链接解释为常规文件并注销警告。我想分叉主管,以便可以完全修复此问题或产生更具描述性的警告。
如何使用 Node.js 的文件系统模块来确定给定文件是否真的是符号链接?
【问题讨论】:
标签: node.js linux fs symlink-traversal node-supervisor
Supervisor 是 Node.js 的一个包,它监视应用目录中的文件是否有修改,并在发生修改时重新加载应用。
此脚本将符号链接解释为常规文件并注销警告。我想分叉主管,以便可以完全修复此问题或产生更具描述性的警告。
如何使用 Node.js 的文件系统模块来确定给定文件是否真的是符号链接?
【问题讨论】:
标签: node.js linux fs symlink-traversal node-supervisor
您可以使用fs.lstat,然后在传递给您的 lstat 回调的fs.Stats 对象上调用statis.isSymbolicLink()。
fs.lstat('myfilename', function(err, stats) {
console.log(stats.isSymbolicLink());
});
【讨论】:
看来你可以使用isSymbolicLink()
const files = fs.readdirSync(dir, {encoding: 'utf8', withFileTypes: true});
files.forEach((file) => {
if (file.isSymbolicLink()) {
console.log('found symlink!');
}
}
【讨论】: