[ES6] import でディレクトリー内すべてのファイルを読み込む
2316 ワード
課題
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()
ファイル形式を選択したいときはフィルタリングすればいけるし、サブディレクトリ読み込みたいときは再帰的に読めばいいと思う。
Author And Source
この問題について([ES6] import でディレクトリー内すべてのファイルを読み込む), 我々は、より多くの情報をここで見つけました https://qiita.com/kixixixixi/items/eb6bee918054d026d26c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .