Node.js 验证路径是否指向给定目录中的另一个路径
下面的node.js函数获取一个路径并成功检查它是否是符号链接(分别将Node.js 验证路径是否指向给定目录中的另一个路径,node.js,Node.js,下面的node.js函数获取一个路径并成功检查它是否是符号链接(分别将true或false打印到控制台): 问题:我现在如何检查路径是否不仅仅是符号链接,而是指向特定目录的符号链接 例如,如果/path/to/file1指向/the/actual/address/file1,那么如何使函数指向,从而指向(“/path/to/file1”,“the/actual/address”)返回true?您可以使用它 下面是一个可能的实现: function pointsWithin(path, dir,
true
或false
打印到控制台):
问题:我现在如何检查路径是否不仅仅是符号链接,而是指向特定目录的符号链接
例如,如果/path/to/file1
指向/the/actual/address/file1
,那么如何使函数指向,从而指向(“/path/to/file1”,“the/actual/address”)
返回true
?您可以使用它
下面是一个可能的实现:
function pointsWithin(path, dir, cb) {
fs.lstat(path, function(err, stats) {
if (err) return cb(err);
if (! stats.isSymbolicLink()) return cb(new Error('not a symlink'));
fs.readlink(path, function(err, dest) {
if (err) return cb(err);
return cb(null, dest.indexOf(dir) === 0);
});
});
};
function pointsWithin(path, dir, cb) {
fs.lstat(path, function(err, stats) {
if (err) return cb(err);
if (! stats.isSymbolicLink()) return cb(new Error('not a symlink'));
fs.readlink(path, function(err, dest) {
if (err) return cb(err);
return cb(null, dest.indexOf(dir) === 0);
});
});
};