簡體   English   中英

節點fs.stat名稱給出undefined

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM