diff --git a/examples/with-electron/main/index.js b/examples/with-electron/main/index.js index 2cbf08696166a..7dc6138540fdd 100644 --- a/examples/with-electron/main/index.js +++ b/examples/with-electron/main/index.js @@ -13,7 +13,11 @@ app.on('ready', async () => { const mainWindow = new BrowserWindow({ width: 800, - height: 600 + height: 600, + webPreferences: { + nodeIntegration: false, + preload: join(__dirname, 'preload.js') + } }) const url = isDev diff --git a/examples/with-electron/main/preload.js b/examples/with-electron/main/preload.js new file mode 100644 index 0000000000000..7fc2babd2ad66 --- /dev/null +++ b/examples/with-electron/main/preload.js @@ -0,0 +1,7 @@ +const { ipcRenderer } = require('electron') + +// Since we disabled nodeIntegration we can reintroduce +// needed node functionality here +process.once('loaded', () => { + global.ipcRenderer = ipcRenderer +}) diff --git a/examples/with-electron/package.json b/examples/with-electron/package.json index c6b95f1ec87d9..64031cd7447ec 100644 --- a/examples/with-electron/package.json +++ b/examples/with-electron/package.json @@ -18,14 +18,14 @@ ] }, "devDependencies": { - "electron": "^1.6.11", - "electron-builder": "^19.19.1", + "electron": "^2.0.0", + "electron-builder": "^20.13.4", "next": "latest", "react": "^16.1.1", "react-dom": "^16.1.1" }, "dependencies": { "electron-is-dev": "0.3.0", - "electron-next": "3.0.8" + "electron-next": "3.1.4" } } diff --git a/examples/with-electron/renderer/next.config.js b/examples/with-electron/renderer/next.config.js index 3bc97cd5fb2e7..349c988671f05 100644 --- a/examples/with-electron/renderer/next.config.js +++ b/examples/with-electron/renderer/next.config.js @@ -1,8 +1,4 @@ module.exports = { - webpack (config, { dev }) { - config.target = 'electron-renderer' - return config - }, exportPathMap () { // Let Next.js know where to find the entry page // when it's exporting the static bundle for the use diff --git a/examples/with-electron/renderer/pages/start.js b/examples/with-electron/renderer/pages/start.js index 1025a5fa6b567..9fe3414771af6 100644 --- a/examples/with-electron/renderer/pages/start.js +++ b/examples/with-electron/renderer/pages/start.js @@ -1,5 +1,4 @@ import { Component } from 'react' -import { ipcRenderer } from 'electron' export default class extends Component { state = { @@ -9,12 +8,12 @@ export default class extends Component { componentDidMount () { // start listening the channel message - ipcRenderer.on('message', this.handleMessage) + global.ipcRenderer.on('message', this.handleMessage) } componentWillUnmount () { // stop listening the channel message - ipcRenderer.removeListener('message', this.handleMessage) + global.ipcRenderer.removeListener('message', this.handleMessage) } handleMessage = (event, message) => { @@ -28,7 +27,7 @@ export default class extends Component { handleSubmit = event => { event.preventDefault() - ipcRenderer.send('message', this.state.input) + global.ipcRenderer.send('message', this.state.input) this.setState({ message: null }) }