Для каждого основного React
компонента у меня есть папка компонентов, которая находится рядом с ним. Внутри каждого основного компонента я должен import
каждый компонент из папки компонентов отдельно. Я пытаюсь настроить некоторый код, который автоматически требует, чтобы все компоненты из папки компонентов были помещены в файл / область / среду основных компонентов.
const app = require.context(".", true, /^\.\/.*\jsx$/)
const mainComponentFile = app('./path/to/file')
const components = require.context('./path/to/file/components', true, /^\.\/.*\jsx$/)
components.keys().forEach((x) => {
mainComponentFile.require(x) // I know this doesn't work, my question is how can I do this?
})
Я вижу замыкания для каждого модуля, определенного в [[Scopes]]
но я не могу получить доступ к этому объекту программно (я читал почему в других SO).
Обновление
У меня есть точное решение, которое я искал, и я обновлю этот вопрос на выходных с ответом. Короче говоря, вам нужно создать загрузчик Webpack
, который изменяет источник, программно помещая в него строки import
. Он не редактирует сам файл, а только источник кода в строковом формате, прежде чем он будет отправлен для компиляции через веб-пакет. Общее решение не слишком сложное, но для вашего здравого смысла, если только вы не хотите сделать что-то очень динамичное c, go для решения, упомянутого в комментариях @xadm: babel-plugin-import-directory