节点 fs.stat 名称未定义
Node fs.stat name giving undefined
当我在文件的 fs.stats
函数中执行 console.log(stats)
时,它会给我这样的结果:
{ dev: 16777223,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 49868100,
size: 5617,
blocks: 16,
atime: Mon Jan 05 2015 18:18:10 GMT-0700 (MST),
mtime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
ctime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
birthtime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
name: 'README.md',
type: 'file' }
这是代码,我使用的是walk node plugin。该函数在每次找到文件时运行。
walker.on('files', function(path, stats, next){
console.log(stats.name);
next();
});
但是当我做console.log(stats.name)
时,它说它是未定义的。有谁知道我做错了什么?我是不是用错了属性?
查看 fs.Stats
的文档,没有这样的 name
属性。 fs.stat
类似于 stat()
,它在结构中也没有名称 returns 。
如果您想要文件名,甚至不需要调用 stat()
。考虑一下:
var fs = require('fs');
fs.readdir('.', function(err, entries) {
// filenames available here in the array `entries`
entries.forEach(function(filename) {
fs.stat('./' + filename, function(err, stats) {
if (!err) {
console.log(stats);
}
});
})
});
您在 files
上使用助行器,而不是在 file
上使用助行器。所以 stats 可能包含一组文件,而不仅仅是一个。尝试 console.log(stats)
查看 files
.
的统计参数结构
或者试试 walker.on('file', function(path, stats, next){});
当我在文件的 fs.stats
函数中执行 console.log(stats)
时,它会给我这样的结果:
{ dev: 16777223,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 49868100,
size: 5617,
blocks: 16,
atime: Mon Jan 05 2015 18:18:10 GMT-0700 (MST),
mtime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
ctime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
birthtime: Thu Sep 25 2014 21:21:28 GMT-0600 (MDT),
name: 'README.md',
type: 'file' }
这是代码,我使用的是walk node plugin。该函数在每次找到文件时运行。
walker.on('files', function(path, stats, next){
console.log(stats.name);
next();
});
但是当我做console.log(stats.name)
时,它说它是未定义的。有谁知道我做错了什么?我是不是用错了属性?
查看 fs.Stats
的文档,没有这样的 name
属性。 fs.stat
类似于 stat()
,它在结构中也没有名称 returns 。
如果您想要文件名,甚至不需要调用 stat()
。考虑一下:
var fs = require('fs');
fs.readdir('.', function(err, entries) {
// filenames available here in the array `entries`
entries.forEach(function(filename) {
fs.stat('./' + filename, function(err, stats) {
if (!err) {
console.log(stats);
}
});
})
});
您在 files
上使用助行器,而不是在 file
上使用助行器。所以 stats 可能包含一组文件,而不仅仅是一个。尝试 console.log(stats)
查看 files
.
或者试试 walker.on('file', function(path, stats, next){});