我有一个用npx create-react-app
创建的React项目,在其中实现了一些React组件。我并没有真正将该项目视为“ React应用程序”,因为它只是我在另一个项目中使用的个人组件库,即使用服务器端技术呈现的HTML Web应用程序。我的目标是逐步用React组件替换此应用程序的部分。我并不是真的希望它成为单个React应用程序,我的计划只是替换我认为可以用React开发的部分。
实现这些组件没有问题-我正在使用Storybook来组织独立的模块。但是我在构建过程中很挣扎。
如果我运行npm run build
,则将基于create-react-app
引导的原始React应用程序代码创建一个应用程序,而我实际上放弃了该应用程序代码,而是使用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
和{{1} }语句。 - 我在HTML项目中加载了
export
文件,并且可以使用普通的JS创建组件:
component.js
是否有更好的过程将组件构建为可以在HTML应用程序中使用的单个JS文件?