【问题标题】:How to access a group of files, regardless of folder name with fs/require无论文件夹名称如何,如何使用 fs/require 访问一组文件
【发布时间】:2020-04-01 13:49:45
【问题描述】:

所以我有一组这样组织的文件:

./main/folder1/files.js
./main/differentfolder/files.js
./main/test/files.js
./main/test/files.js

这些文件没有命名为 files.js,这是我的说法,那个文件夹中有很多文件。

如何在不执行以下操作的情况下访问上面显示的所有文件:

const commandFiles = fs.readdirSync(`./main/folder1/files.js`)
const commandFiles2 = fs.readdirSync(`./main/differentfolder/files.js`)
const commandFiles3 = fs.readdirSync(`./main/test/files.js`)
//and so on

只需获取“main”中的所有 Javascript 文件,无论文件夹名称如何,都使用“fs”和“require”。我希望它是一样的。 ./main 中只有文件夹。

编辑:我只是想要它,以便 fs 可以检查 /main//files 而不是 main 里面的内容

【问题讨论】:

  • 您需要遍历文件夹。 (nodejs fs iirc 中没有 glob。

标签: javascript node.js fs


【解决方案1】:

我通过使用 require-all 包轻松解决了这个问题,该包与我用于我的应用程序的其他包一起安装:

const fs = require('fs');
var folders = fs.readdirSync('./main/').filter(n => n !== '.DS_Store') //filter out that disgusting macOS file

folders.forEach(async (folder) => {
  var cmdfolder = Object.values(require('require-all')(__dirname + `/main/${folder}`))
  cmdfolder.forEach(async (key) => {
  var file = require(`./main/${folder}/${key.fileName}`)'
  //register file
  })
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 2012-07-24
    相关资源
    最近更新 更多