1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-electron/main/index.js
Sergio Xalambrí 4b0467ed42 Add Electron example (#1430)
* Add Electron usage example

* Remove the deploy part

* Only allow GET request to our HTTP server

* Only allow request from an electron app (checking the user agent)

* Add warning about the local HTTP server

* Update package.json

* Update example to use Next.js v3

* Added required package.json fields with placeholders

* Use next:// file protocol to open internal built files

* Create next.config.js

* Update set-menu.js

* Update example to merge it with electron-next-skeleton ideas
2017-08-09 07:56:23 +02:00

37 lines
904 B
JavaScript

// Native
const { join } = require('path')
const { format } = require('url')
// Packages
const { BrowserWindow, app, ipcMain } = require('electron')
const isDev = require('electron-is-dev')
const prepareNext = require('electron-next')
// Prepare the renderer once the app is ready
app.on('ready', async () => {
await prepareNext('./renderer')
const mainWindow = new BrowserWindow({
width: 800,
height: 600
})
const url = isDev
? 'http://localhost:8000/start'
: format({
pathname: join(__dirname, '../renderer/start/index.html'),
protocol: 'file:',
slashes: true
})
mainWindow.loadURL(url)
})
// Quit the app once all windows are closed
app.on('window-all-closed', app.quit)
// listen the channel `message` and resend the received message to the renderer process
ipcMain.on('message', (event, message) => {
event.sender.send('message', message)
})