課題
export default しているファイルを読み込むときに以下の書き方をしてたけどhoge
ディレクトリ全体を一括で読み込みたいと思った。
import hoge1 from './hoge/hoge1.js'
import hoge2 from './hoge/hoge2.js'
hoge/index.js
で import 書いてまとめるのもめんどくさい。
方法
これでいいのかわからないけど、以下の方法でやってみたら動いた。
import fs from "fs"
const hoges = {}
fs.readdirSync("./hoge").forEach(async file => {
const module = await import(`./hoge/${file}`)
hoges[file] = module.default
})
hoges.hoge1.hogeFunction()
ファイル形式を選択したいときはフィルタリングすればいけるし、サブディレクトリ読み込みたいときは再帰的に読めばいいと思う。