代码之家  ›  专栏  ›  技术社区  ›  foufrix

将React应用程序(与Webpack捆绑在一起)启动到React应用程序中

  •  0
  • foufrix  · 技术社区  · 7 年前

    我有一个React应用程序与Webpack4捆绑在一个文件(bundle.js)中,我想将它作为一个组件启动到另一个React应用程序中。

    import Component from '../../../build/bundle'
    
    const AcomponentWithBundle = () => (
      <div>
        <Component />
      </div>
    );
    

    这当然不行

    以下是错误消息:

    警告:react.createElement:类型无效--应为字符串(对于内置组件)或类/函数(对于复合组件),但应为get:object。您可能忘记了从中定义的文件导出组件,或者您可能混淆了默认导入和命名导入。

    我理解错误消息,因为在包中我没有导出,但是我需要能够这样做,并且不知道如何做。

    事先谢谢!

    2 回复  |  直到 7 年前
        1
  •  0
  •   Alf    7 年前

    通常的做法是创建一个NPM包,并定义一个预先打包的脚本,用babel来传播您的反应组件,然后发布、打包或链接它 npm 这样你就可以 npm install 它在你的应用程序中。

    Webpack应该作为整个构建过程的最后一步,以生成在浏览器中运行的完整应用程序。

        2
  •  0
  •   Mosè Raguzzini    7 年前

    在基于反应组件的原理中,在这种情况下,唯一允许的模式是:

    • 重定向到另一个应用程序,不要假装 嵌入它
    • 从其他应用程序加载所需组件,而不嵌入完整的应用程序

    作为解决方案(为了保持DOM、路由等),您可以加载 其他应用程序 在一个