[英]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節點插件 。 該函數每次找到文件時都會運行。
walker.on('files', function(path, stats, next){
console.log(stats.name);
next();
});
但是,當我執行console.log(stats.name)
,它表示它未定義。 有誰知道我做錯了什么? 我是否以某種方式使用了錯誤的屬性?
您正在使用學步車files
上沒有學步車file
。 因此統計信息可能包含一個文件數組,而不僅僅是一個。 嘗試使用console.log(stats)
查看files
的stats參數結構。
或者也許嘗試walker.on('file', function(path, stats, next){});
查看fs.Stats
的文檔,沒有這樣的name
屬性。 fs.stat
類似於stat()
,它在返回的結構中也沒有名稱。
如果你想要文件名,你甚至不需要調用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);
}
});
})
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.