前端桌面应用开发:Electron介绍与实践(3)

简介: 前端桌面应用开发:Electron介绍与实践(3)

4.3 主进程

main.js中添加以下代码:

const {
    app, BrowserWindow, ipcMain } = require('electron');

let mainWindow;

function createWindow() {
   
  mainWindow = new BrowserWindow({
   
    width: 800,
    height: 600,
    webPreferences: {
   
      nodeIntegration: true,
    },
  });

  mainWindow.loadFile('src/index.html');
}

app.whenReady().then(() => {
   
  createWindow();

  app.on('activate', () => {
   
    if (BrowserWindow.getAllWindows().length === 0) {
   
      createWindow();
    }
  });
});

app.on('window-all-closed', () => {
   
  if (process.platform !== 'darwin') {
   
    app.quit();
  }
});

ipcMain.on('add-task', (event, task) => {
   
  mainWindow.webContents.send('task-added', task);
});

4.4 渲染进程

renderer.js中添加以下代码:

const {
    ipcRenderer } = require('electron');

const taskList = document.getElementById('task-list');
const taskInput = document.getElementById('task-input');
const addButton = document.getElementById('add-button');

addButton.addEventListener('click', () => {
   
  const task = taskInput.value;
  if (task) {
   
    ipcRenderer.send('add-task', task);
    taskInput.value = '';
  }
});

ipcRenderer.on('task-added', (event, task) => {
   
  const taskItem = document.createElement('div');
  taskItem.textContent = task;
  taskList.appendChild(taskItem);
});

4.5 运行应用

package.json中添加以下脚本:

"scripts": {
   
  "start": "electron ."
}

现在,你可以运

行应用:

npm start

5. 结论

本文介绍了Electron框架的基本概念,并通过一个简单的任务管理器应用演示了如何使用Electron进行前端桌面应用开发。Electron为前端开发者提供了跨平台桌面应用开发的新可能性,通过结合Web技术和Node.js,你可以创建出强大且具有原生体验的桌面应用。

希望本文能帮助你了解Electron,并激发你对前端桌面应用开发的兴趣。

相关文章
|
7天前
|
前端开发 JavaScript API
探索现代Web开发中的动态数据交互——前端与后端整合实战
本文探讨了现代Web开发中前端与后端整合的关键技术点,通过实际案例演示了如何利用JavaScript和Node.js实现动态数据交互,全面解析从数据请求到响应的全过程。
|
4天前
|
JSON 前端开发 Java
一文读Web开发 之接口后端接口、类与前端请求、拦截器编写
一文读Web开发 之接口后端接口、类与前端请求、拦截器编写
21 6
|
4天前
|
前端开发 JavaScript 数据管理
引领潮流:React框架在前端开发中的革新与实践
React,始于2013年,由Facebook驱动,以其组件化、Virtual DOM、单向数据流和Hooks改革前端。组件化拆分UI,提升代码复用;Virtual DOM优化渲染性能;Hooks简化无类组件的状态管理。庞大的生态系统,包括Redux、React Router等库,支持各种需求。例如,`useState` Hook在计数器应用中实现状态更新,展示React的实用性。React现已成为现代Web开发的首选框架。【6月更文挑战第24天】
26 2
|
12天前
|
前端开发 JavaScript 开发工具
Web前端开发学习资料:深度探索与开发实践
Web前端开发学习资料:深度探索与开发实践
18 3
|
12天前
|
缓存 前端开发 JavaScript
前端性能优化实践与工程化
前端性能优化实践与工程化
|
6天前
|
前端开发 JavaScript
web开发前端适配
web开发前端适配
10 0
|
6天前
|
缓存 监控 前端开发
前端性能优化:从系统分析到实践策略
**前端性能优化概述** 本文探讨了前端性能优化的重要性,强调了从整体角度而非仅关注局部优化手段的必要性。作者指出,建立性能评价系统是关键,通过**性能指标**(如FP、FCP、LCP、CLS等)来量化页面性能,然后使用**性能监控**工具收集数据。文章列举了9个关键性能指标,并介绍了如何通过SDK或工具进行数据收集。 在实际操作中,文章提到了**性能优化方法论**,包括了解何时何地出现性能问题,以及如何根据性能指标采取相应优化措施。作者推荐使用Chrome的Lighthouse工具进行性能测试,并讨论了**CDN**、**缓存策略**和**懒加载**作为常见的优化手段。
32 0
|
1月前
|
移动开发 开发框架 JavaScript
Vue3 Vite electron 开发桌面程序
Vue3 Vite electron 开发桌面程序
155 0
|
7月前
|
前端开发 算法 JavaScript
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(下)
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(下)
82 0
|
7月前
|
存储 Web App开发 JavaScript
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(上)
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(上)
125 0