节点/ statSync问题

时间:2016-06-21 18:07:47

标签: javascript node.js fs

我正在尝试使用fs.statSync在“e:\ subdirectory \”中记录一个数字命名的子目录数组,但我不断收到错误“module.exports”不是函数;根据我的理解,这正是我应该如何导出数据

我正在使用同步版本,因为我希望数组在导出之前完成填充。

这是一个“概念证明”,我计划提供一个html文档并将此数组推送到输入字段

这是代码......

checke.js

var fs = require('fs');

function checkE() {
    for (var i = 1, accts = [], path = "e:\\subdirectory\\"; i <10000; i++ ) {
        var target = fs.statSynch(path + i.toString())
        if (target.isDirectory()) { accts.push(i) }
    }
}

module.exports(checkE)

init.js

var checke = require('./checke.js')

console.log(checke)

1 个答案:

答案 0 :(得分:2)

您需要为module.exports指定一些内容而不是像函数一样调用它。 module.exports is an object

checke.js

var fs = require('fs');

module.exports = {
    checkE: function checkE() {
       var accts = [];
       var path = 'e:\\subdirectory\\';

       for (var i = 1; i <10000; i++ ) {
           var target = fs.statSync(path + i.toString())
           if (target.isDirectory())
               accts.push(i);
       }

       return accts;
   }
}

init.js

var checke = require('./checke.js');
checke.checkE();