У меня есть проект React, созданный с npx create-react-app
, где я реализовал несколько компонентов React. На самом деле я не рассматриваю этот проект как «приложение React», поскольку это просто личная библиотека компонентов, которые я использую в другом проекте, веб-приложение HTML, созданное с использованием серверных технологий. Моя цель - постепенно заменять части этого приложения компонентами React. Я не думаю, что это станет единым приложением React, мой план состоит в том, чтобы просто заменить те части, которые, по моему мнению, имеют смысл разрабатывать с помощью React.
У меня нет проблем с реализацией этих компонентов - я использую Storybook для организации независимых модулей. Но я борюсь с процессом сборки.
Если я запускаю npm run build
, я создаю одно приложение на основе исходного кода приложения React, загруженного create-react-app
, от которого я по существу отказался в пользу установки Storybook. Если я добавлю файлы, созданные npm run build
моим проектом, я не смогу заставить React правильно отображать мои компоненты.
Мне удалось заставить работать процесс сборки вручную:
- В моем проекте HTML я добавляю https://unpkg.com/react@16/umd/react.production.min.js и https://unpkg.com/react-dom@16/umd/react-dom.production.min.js
- Для каждого из моих исходных файлов компонентов React я запускаю
npx babel --presets react-app/prod src/MyComponent.js -o build/mycomponent.js
- Затем я объединяю все
npx babel
выходы в одинcomponents.js
файл, настраивая некоторые повторяющиеся функции, которые появляются в верхней части всех файлов, и подавляя операторыimport
иexport
. - Я загружаю файл
component.js
в свой HTML-проект и могу создавать свои компоненты, используя простой JS:
ReactDOM.render(
React.createElement(MyComponent, {param: value}, null),
document.getElementById('myComponent')
);
Есть ли лучший процесс для сборки моих компонентов в один JS-файл, который я мог бы использовать в своем HTML-приложении?