前端桌面应用开发: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,并激发你对前端桌面应用开发的兴趣。

相关文章
|
5天前
|
资源调度 运维 JavaScript
使用electron创建桌面应用及常见打包错误解决
使用electron创建桌面应用及常见打包错误解决
56 3
|
10天前
|
负载均衡 前端开发 JavaScript
前端研发链路之开发
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了前端研发链路中的开发部分,重点探讨了开发服务器(dev-server)、热更新(hot-reload)、数据模拟(mock)和代理(proxy)等关键技术,帮助开发者理解其基本原理和应用场景,提升开发效率和代码质量。
24 2
前端研发链路之开发
|
6天前
|
前端开发 JavaScript 开发者
构建工具对比:Webpack与Rollup的前端工程化实践
【10月更文挑战第11天】本文对比了前端构建工具Webpack和Rollup,探讨了它们在模块打包、资源配置、构建速度等方面的异同。通过具体示例,展示了两者的基本配置和使用方法,帮助开发者根据项目需求选择合适的工具。
8 3
|
5天前
|
人工智能 前端开发 测试技术
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
本文介绍了 GPT-4 如何成为前端开发者的“神队友”,让开发变得更加高效愉快。无论是需求到代码的自动生成、快速调试和性能优化,还是自动化测试和技术选型,GPT-4 都能提供极大的帮助。通过智能生成代码、捕捉 BUG、优化性能、自动化测试生成以及技术支持,GPT-4 成为开发者不可或缺的工具,帮助他们从繁重的手动任务中解脱出来,专注于创新和创意。GPT-4 正在彻底改变开发流程,让开发者从“辛苦码农”转变为“效率王者”。
15 0
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
|
4天前
|
开发框架 JavaScript 前端开发
Electron技术深度解析:构建跨平台桌面应用的利器
【10月更文挑战第13天】Electron技术深度解析:构建跨平台桌面应用的利器
20 0
|
4天前
|
JavaScript 前端开发 Docker
拿下奇怪的前端报错(二):nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践
本文介绍了在多版本Node.js环境中使用nvm进行版本管理和遇到的问题,以及通过Docker化构建流程来解决兼容性问题的方法。文中详细描述了构建Docker镜像、启动临时容器复制构建产物的具体步骤,有效解决了不同项目对Node.js版本的不同需求。
|
5天前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
13 0
|
10天前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
5天前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
|
5天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
17 0