【发布时间】:2021-04-11 09:28:37
【问题描述】:
我意识到第二个电子浏览器窗口确实打开了,但没有正确呈现。
在 /tools/forge/forge.config.js 我有两个用于两个窗口的入口点:
entryPoints: [
{
// React Hot Module Replacement (HMR)
rhmr: 'react-hot-loader/patch',
// HTML index file template
html: path.join(rootDir, 'src/index.html'),
// Renderer
js: path.join(rootDir, 'src/renderer.ts'),
// Main Window
name: 'main_window',
// Preload
preload: {
js: path.join(rootDir, 'src/preload.ts'),
},
},
{
// React Hot Module Replacement (HMR)
rhmr: 'react-hot-loader/patch',
// HTML index file template
html: path.join(rootDir, 'src/index_two.html'),
// Renderer
js: path.join(rootDir, 'src/renderer_two.ts'),
// Main Window
name: 'main_window2',
// Preload
preload: {
js: path.join(rootDir, 'src/preload.ts'),
},
},
],
这是 main.ts 中的相关部分:
declare const MAIN_WINDOW_WEBPACK_ENTRY: string;
declare const MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY: string;
let mainWindow;
let mainWindow2;
const createWindow = (): void => {
mainWindow = new BrowserWindow({
})
mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);
mainWindow2 = new BrowserWindow({
})
// Is this correct??
mainWindow2.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);
}
/src/renderer.ts :
import './app';
/src/renderer_two.ts:
import './app_two'
在 src/app_two/components/App_two.tsx 中:
class App extends React.Component {
render(): JSX.Element {
return (
<div className='container'>
<h2 className='heading'>
SECOND WINDOW
</h2>
<p>
<button id="exchange-greetings-with-first-window" onClick={() => {
exchangeGreetingsFunct();
}}>Exchange Greetings with First Window</button>
</p>
</div>
);
}
}
如您所见,右侧的第二个窗口未正确呈现:
【问题讨论】:
标签: reactjs typescript electron electron-forge