реэкспортировать все файлы из папки webpack - PullRequest
0 голосов
/ 25 мая 2019

Мы используем структуру папок, подобную этой

components
  | Button.js
  | Nav.js
  | ...etc
  | index.js

somefolder
  |somefile.js

в файле inderx мы импортируем каждый компонент и экспортируем его следующим образом

 // index.js
  import Button from './Button'
  import Nav from './Nav'

  export {Button, Nav}

таким образом мы можем импортировать множество компонентов в файл, подобный этому

 // somefile.js
  import {Button, Nav} from '../components'

Поддержание этого индексного файла немного проблематично и не способствует гибкому использованию компонентов. Я знаю, что Webpack может импортировать много файлов с синтаксисом, подобным этому

function requireAll(r) { r.keys().forEach(r); }
requireAll(require.context('./components/', true, /\.js$/));

однако я еще не нашел способ реэкспортировать все эти компоненты, чтобы использовать их, как описано выше.

Желаемый результат 1016 * - заменить файл index.js чем-то, что автоматизирует процесс объединения всех файлов из папки без необходимости добавления каждого файла вручную.

1 Ответ

0 голосов
/ 25 мая 2019

Я думаю, что избавление от индекса файла не будет лучшим решением и может вызвать вопросы у других разработчиков.Но я могу предложить несколько более простой способ:

index.js:

export * from './some-component1.js';
export * from './some-component2.js';

some-component1.js:

export {SomeComponent1};

some-component2.js:

export {SomeComponent2};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...