From 6d8fe0d28aab814057f68d13854675135e1db739 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Wed, 7 Jul 2021 18:34:04 +0800 Subject: [PATCH] electron init --- electron/.gitignore | 2 ++ electron/index.html | 15 +++++++++++++++ electron/main.js | 45 +++++++++++++++++++++++++++++++++++++++++++ electron/package.json | 10 ++++++++++ package.json | 1 + 5 files changed, 73 insertions(+) create mode 100644 electron/.gitignore create mode 100644 electron/index.html create mode 100644 electron/main.js create mode 100644 electron/package.json diff --git a/electron/.gitignore b/electron/.gitignore new file mode 100644 index 00000000..d5f19d89 --- /dev/null +++ b/electron/.gitignore @@ -0,0 +1,2 @@ +node_modules +package-lock.json diff --git a/electron/index.html b/electron/index.html new file mode 100644 index 00000000..1c707e62 --- /dev/null +++ b/electron/index.html @@ -0,0 +1,15 @@ + + + + + + + Hello World! + + +

Hello World!

+We are using Node.js , +Chromium , +and Electron . + + diff --git a/electron/main.js b/electron/main.js new file mode 100644 index 00000000..eb3c1c95 --- /dev/null +++ b/electron/main.js @@ -0,0 +1,45 @@ +// main.js + +// Modules to control application life and create native browser window +const { app, BrowserWindow } = require('electron') +const path = require('path') + +function createWindow () { + // Create the browser window. + const mainWindow = new BrowserWindow({ + width: 800, + height: 600, + webPreferences: { + preload: path.join(__dirname, 'preload.js') + } + }) + + // and load the index.html of the app. + mainWindow.loadFile('index.html') + + // Open the DevTools. + // mainWindow.webContents.openDevTools() +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// 部分 API 在 ready 事件触发后才能使用。 +app.whenReady().then(() => { + createWindow() + + app.on('activate', function () { + // 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. + if (BrowserWindow.getAllWindows().length === 0) createWindow() + }) +}) + +// 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 +// explicitly with Cmd + Q. +app.on('window-all-closed', function () { + if (process.platform !== 'darwin') app.quit() +}) + +// In this file you can include the rest of your app's specific main process +// code. 也可以拆分成几个文件,然后用 require 导入。 diff --git a/electron/package.json b/electron/package.json new file mode 100644 index 00000000..9cfc2838 --- /dev/null +++ b/electron/package.json @@ -0,0 +1,10 @@ +{ + "name": "DooTask-App", + "version": "1.0.0", + "description": "DooTask is task management system.", + "main": "main.js", + "license": "MIT", + "devDependencies": { + "electron": "^13.1.6" + } +} diff --git a/package.json b/package.json index 0321c532..429dcc18 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "prod": "npm run production", "production": "mix --production", "version": "node ./version.js", + "electron": "cd electron && electron ./", "native": "node ./nativefier.js" }, "devDependencies": {