| yarn create react-app electron-react |
| cd electron-react |
| yarn run eject |
| vi main.js |
main.js
| const { |
| app, |
| BrowserWindow, |
| ipcMain |
| } = require('electron') |
| |
| |
| const path = require('path') |
| const url = require('url') |
| |
| |
| |
| let mainWindow = null; |
| |
| function createWindow() { |
| |
| mainWindow = new BrowserWindow({ |
| width: 800, |
| height: 600, |
| |
| |
| }); |
| |
| |
| |
| |
| |
| mainWindow.once('ready-to-show', () => { |
| win.show() |
| }) |
| |
| |
| |
| |
| |
| mainWindow.loadURL('http://localhost:3000') |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| mainWindow.webContents.openDevTools() |
| |
| |
| |
| |
| mainWindow.on('closed', function () { |
| |
| |
| |
| mainWindow = null |
| }); |
| |
| |
| |
| } |
| |
| |
| |
| |
| app.on('ready', createWindow) |
| |
| |
| app.on('window-all-closed', function () { |
| |
| |
| if (process.platform !== 'darwin') { |
| app.quit() |
| } |
| }) |
| |
| app.on('activate', function () { |
| |
| |
| if (mainWindow === null) { |
| createWindow() |
| } |
| }) |
package.json
| { |
| "main": "main.js", |
| |
| "scripts": { |
| "start": "node scripts/start.js", |
| "build": "node scripts/build.js", |
| "test": "node scripts/test.js --env=jsdom", |
| |
| "e-start": "electron .", |
| "e-build": "npm run build && electron-builder --win --x64", |
| } |
执行 npm run dev
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步