JavaScript将数组从一个文件导出到另一个文件以供使用。 Node.js

时间:2018-08-02 14:17:32

标签: javascript arrays

也许您可以提供帮助。 我有一个文件,其中列出了DIR,然后将其推入数组。然后,我尝试导出它并在另一个文件中使用它。但是它不起作用。...

文件1.js

const fs = require('fs');
let filename = [];
module.exports = function(){


try {
    let subfolder = './DIR/';
    fs.readdir(subfolder, async (err, files) => {
        for (const file of files) {
            filename.push(file);
        }

    });
}
catch (e) {}
};

文件2.js

let instance = require('../../File 2');
console.log(instance);

但是,当我运行此命令时,我会得到一个空数组。但是我可以在文件1.js中的console.log数组,它可以正确显示。不知道我在做什么错。

2 个答案:

答案 0 :(得分:0)

  1. 您要导出的是函数,而不是数组。
  2. 该数组将异步填充。当您在console.logFile 2.js时,该数组仍将为空。

答案 1 :(得分:0)

结果将文件1.js 更改为以下内容:

const fs = require('fs');

module.exports = 
{
    getRArray: function ()
    {
        let filename = [];
        try
        {
            let subfolder = './DIR/';
            let files = fs.readdirSync(subfolder);

            for (let file of files)
            {
                filename.push(file);
            }
        }
        catch (e)
        {
        }
        return filename;
    }
};

带有文件2.js

let instance = require('../../DIR');
console.log(instance.getRArray());