format
This commit is contained in:
parent
ddfdeee5b0
commit
a3db31b579
74
src/index.js
74
src/index.js
@ -1,59 +1,59 @@
|
|||||||
const { app, BrowserWindow, protocol, shell } = require('electron')
|
const {app, BrowserWindow, protocol, shell} = require('electron')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
|
||||||
function createWindow () {
|
function createWindow() {
|
||||||
// Create the browser window.
|
// Create the browser window.
|
||||||
const win = new BrowserWindow({
|
const win = new BrowserWindow({
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
nodeIntegration: true
|
nodeIntegration: true,
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
win.webContents.on('new-window', function(e, url) {
|
win.webContents.on('new-window', function (e, url) {
|
||||||
e.preventDefault();
|
e.preventDefault()
|
||||||
shell.openExternal(url);
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
|
|
||||||
// The starting point of the app
|
// The starting point of the app
|
||||||
win.loadFile('./frontend/index.html')
|
win.loadFile('./frontend/index.html')
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method will be called when Electron has finished
|
// This method will be called when Electron has finished
|
||||||
// initialization and is ready to create browser windows.
|
// initialization and is ready to create browser windows.
|
||||||
// Some APIs can only be used after this event occurs.
|
// Some APIs can only be used after this event occurs.
|
||||||
app.whenReady().then(() => {
|
app.whenReady().then(() => {
|
||||||
const root = path.normalize(`${__dirname}/..`)
|
const root = path.normalize(`${__dirname}/..`)
|
||||||
|
|
||||||
// file:// interceptor to serve all assets without running a web server in the background
|
// file:// interceptor to serve all assets without running a web server in the background
|
||||||
protocol.interceptFileProtocol('file', (request, callback) => {
|
protocol.interceptFileProtocol('file', (request, callback) => {
|
||||||
let url = request.url.substr(7) /* all urls start with 'file://' */
|
let url = request.url.substr(7) /* all urls start with 'file://' */
|
||||||
if(!url.startsWith(root)) {
|
if (!url.startsWith(root)) {
|
||||||
if(url.startsWith('css/fonts') || url.startsWith('css/img')) {
|
if (url.startsWith('css/fonts') || url.startsWith('css/img')) {
|
||||||
url = url.substr(4)
|
url = url.substr(4)
|
||||||
}
|
}
|
||||||
url = path.normalize(`${root}/frontend/${url}`)
|
url = path.normalize(`${root}/frontend/${url}`)
|
||||||
}
|
}
|
||||||
callback({ path: url})
|
callback({path: url})
|
||||||
})
|
})
|
||||||
|
|
||||||
createWindow()
|
createWindow()
|
||||||
})
|
})
|
||||||
// Quit when all windows are closed, except on macOS. There, it's common
|
// Quit when all windows are closed, except on macOS. There, it's common
|
||||||
// for applications and their menu bar to stay active until the user quits
|
// for applications and their menu bar to stay active until the user quits
|
||||||
// explicitly with Cmd + Q.
|
// explicitly with Cmd + Q.
|
||||||
app.on('window-all-closed', () => {
|
app.on('window-all-closed', () => {
|
||||||
if (process.platform !== 'darwin') {
|
if (process.platform !== 'darwin') {
|
||||||
app.quit()
|
app.quit()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
app.on('activate', () => {
|
app.on('activate', () => {
|
||||||
// On macOS it's common to re-create a window in the app when the
|
// On macOS it's common to re-create a window in the app when the
|
||||||
// dock icon is clicked and there are no other windows open.
|
// dock icon is clicked and there are no other windows open.
|
||||||
if (BrowserWindow.getAllWindows().length === 0) {
|
if (BrowserWindow.getAllWindows().length === 0) {
|
||||||
createWindow()
|
createWindow()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user