iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

技術選型搞定後,今天要來建立第一個 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"
  }
}

建立 main.js

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 後...

https://ithelp.ithome.com.tw/upload/images/20250922/20169153AsyreaKK1r.png

就會看到一個視窗彈出來
「太酷了吧我也會寫桌面應用程式了哈哈哈哈哈哈哈哈哈哈」

雖然只有 HelloWorld,但至少有了一個可以跑的 Electron 程式!

下一步

接下來解決 ADB 的問題,研究怎麼把 ADB 工具整合進程式

https://ithelp.ithome.com.tw/upload/images/20250922/201691533f6pBS0hXb.png


上一篇
[Day 5] 我要用什麼來做這個工具?
下一篇
[Day 7] Electron + ADB!這樣能用嗎?
系列文
試著開發一些有用的工具程式8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言