是否可以在服务器端Express Route中提供客户端React组件/应用程序?

时间:2018-08-15 20:30:04

标签: javascript reactjs express pug create-react-app

我有一个使用Pug.js渲染许多服务器端路由的Node / Express后端。该应用程序目前是静态的,并且是一个简单的站点。

我使用CRA在React.js中创建了一个交互式“构建器”组件。它允许站点访问者以交互方式配置产品。 最终目标是这样:

当网站访问者点击构建器导航链接时,他们将被带到一个页面,该页面将呈现我的服务器端模板,以保持网站的外观。但是,在内容块中,我想呈现我创建的react应用程序。

我正在寻找几天,也许只是不了解我所看到的东西。我不确定服务器端渲染或代理是否可以使这项工作有效?我已经尝试过CRA代理,但没有得到结果。

文件夹结构图:

Folder Structure

如果任何人需要更多信息或可以指出一些资源,那将非常有帮助。

我还在学习,因此如果违反任何SO准则,我深表歉意。

提前谢谢

1 个答案:

答案 0 :(得分:0)

所以,您的CRA看起来像

  import React from 'react';
    import ReactDOM  from 'react-dom';

    ReactDOM.render(
        <h1>Hello, world!</h1>,
        document.getElementById('app')
    );

因此,要公开此组件,您应该拥有一个与其他所有组件一样的哈巴狗模板,除了其中还包含某个地方

<div id="app"></div>
<script src="bundle.js"></script>

其中脚本的src是构建组件的相对路径。然后,当他们点击该路线时,只需将该模板与express服务即可。