在一个页面中同时加载2个React应用。仅可见单个应用

时间:2018-10-12 11:44:21

标签: node.js reactjs

我有2个React应用,我想在一个页面中加载它们。我该怎么办?我的每个React应用当前都在Apache服务器上运行。因此,我试图使用我的代理nodejs服务呈现该应用程序,如下所述。它所做的只是下载2个应用程序(反应构建)并将HTML发送回浏览器。但是问题在于,只有单个应用程序可见。可能是什么原因?

app.get('/', async (req, resp, next) => {
    try {
        let urlList = [
            'http://localhost/controller',
            'http://localhost/display'
        ];

        let combined = await Promise.map(urlList, (url) => axios(url).catch(err => false));
        combined = combined.filter(Boolean);
        if (combined.length == 0) {
            // React app not started!
            resp.json({
                status: false,
                message: 'None of the application is running'
            });
        } else {
            resp.send(`<div><div id='app1'>${combined[1].data}</div><div id='app2'>${combined[0].data}</div></div>`)
                .end();
        }
    } catch (err) {
        resp.json({
            status: false,
            message: err.message
        });
    }
});

这是我创建应用程序的方式:

  • npx create-react-app控制器
  • npx create-react-app显示

然后,我构建应用程序并将其放入apache根目录。上面的nodejs脚本尝试下载页面并将这两个应用程序的HTML发送到浏览器。仅显示第一个带有id = app1的应用。

enter image description here

0 个答案:

没有答案