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": {