我正在尝试使用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)

最佳答案

您需要为module.exports分配某些内容,而不要像函数那样调用它。
Checked.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();

10-06 15:42