技術選型搞定後,今天要來建立第一個 Electron 專案
不過 Electron 本質上就是把網頁包成桌面程式,對我這個網頁仔來說應該還好(?
先從最基本的開始:
npm init -y
npm install --save-dev electron
設定 package.json
,加入啟動腳本:
{
"name": "android-app-uninstaller",
"version": "1.0.0",
"description": "App Management Tool For Android",
"main": "main.js",
"scripts": {
"start": "electron .",
"dev": "electron . --enable-logging",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"electron": "^38.1.2"
}
}
const { app, BrowserWindow } = require('electron');
const path = require('path');
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false
}
});
win.loadFile('index.html');
}
app.whenReady().then(createWindow);
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
寫了最簡單的 Hello World 介面,就是一個視窗加上幾個按鈕和文字:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World - Electron</title>
</head>
<body>
<h1>Hello World!</h1>
<h1>你好,你好,你好你好你好</h1>
</body>
</html>
執行 npm start
後...
就會看到一個視窗彈出來
「太酷了吧我也會寫桌面應用程式了哈哈哈哈哈哈哈哈哈哈」
雖然只有 HelloWorld,但至少有了一個可以跑的 Electron 程式!
接下來解決 ADB 的問題,研究怎麼把 ADB 工具整合進程式