【问题标题】:How to build React components to be consumed by HTML application?如何构建供 HTML 应用程序使用的 React 组件?
【发布时间】:2020-03-24 13:21:08
【问题描述】:

我有一个使用 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 正确渲染我的组件。

我设法让手动构建过程起作用:

ReactDOM.render(
    React.createElement(MyComponent, {param: value}, null),
    document.getElementById('myComponent')
);

有没有更好的流程将我的组件构建到一个可以在我的 HTML 应用程序中使用的单个 JS 文件中?

【问题讨论】:

    标签: reactjs babeljs create-react-app storybook


    【解决方案1】:

    如您所料,该项目应该是其他项目的可重用模块/ UI 库(例如名称为 my-ui)。我之前做过类似的事情,这里只是介绍我的方法。首先,正常导出组件。其次,创建一个 index.js。第三,导入和导出您导出的那些组件。第四,如果你熟悉 webpack,在 webpack.config.js 中使用 index.js 作为入口,将整个项目打包为一个文件。你可以发布这个包,或者只是在本地使用它。 然后在其他项目中,import my-ui,你可以使用从那个模块导出的任何组件。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 2020-07-31
      • 1970-01-01
      • 2016-01-10
      • 2020-04-23
      • 1970-01-01
      相关资源
      最近更新 更多