我有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
});
}
});
这是我创建应用程序的方式:
然后,我构建应用程序并将其放入apache根目录。上面的nodejs脚本尝试下载页面并将这两个应用程序的HTML发送到浏览器。仅显示第一个带有id = app1
的应用。