首页 > 数据库 >vue3+node.js+mysql+electron+express实现用户登录,文章写入删除,全量更新,增量更新,和截屏功能,前后端分离(1)elctron项目的创建

vue3+node.js+mysql+electron+express实现用户登录,文章写入删除,全量更新,增量更新,和截屏功能,前后端分离(1)elctron项目的创建

时间:2024-07-04 09:30:35浏览次数:22  
标签:node 窗口 elctron 创建 app 更新 js electron vue3

第一件事情是安装node.js,去官网下,在终端node -v,npm-v有版本号就行了,不必搞环境配置,保姆级别教程,感谢哥有时间。嘻嘻,祝大家开心。

1.首先你要创建electron项目

打开vscode,新建终端

输入代码

npm init

这个代码是初始化的意思

会生成一个文件package.json

里面的代码应该是这样

{
  "name": "my-electron-app", // 项目名称
  "version": "1.0.0", // 当前版本号,遵循语义化版本规范
  "description": "Hello World!", // 项目的简短描述
  "main": "main.js", // 应用程序的主入口文件
  "author": "Jane Doe", // 作者名称
  "license": "MIT" // 项目使用的许可证类型
}

你们的没有注释。

下载electron,我用的是[email protected],我对版本的建议是用旧不用新。安装特定版本在后面加@版本号。卸载就吧install换成uninstall。下载完成会出现node_modules,这是你下载的包和依赖存储的地方,模块函数都是从这导入的。

如果你深入学习it技术,你会发现其实都是封装,我们调用api接口,或者我们自己写一个js实现功能,然后调用它,就像电脑里面有很多东西,但是它只暴露usb接口,耳机孔,你只要使用接口就行了,node.js,electron大部分模块使用就是如此,你大部分安装的包也是基于封装。

npm install --save-dev electron

在您的 package.json配置文件中的scripts字段下增加一条start命令:这是用来启动的,其实就是执行脚本。

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

然后打开它,终端输入命令

npm start

会报错,因为没有主文件,在根目录创建一个main.js,在运行。没有报错了,但是也没有窗口,因为你没创建。在main.js中加入代码。

// 从 Electron 模块中导入 app 和 BrowserWindow 对象
const { app, BrowserWindow } = require('electron');
const path = require('node:path');

const createWindow = () => {
  // 创建浏览器窗口
  const mainWindow = new BrowserWindow({
    width: 800, // 设置窗口的宽度为 800 像素
    height: 600,// 设置窗口的高度为 600 像素
    webPreferences: {
      preload: path.join(__dirname, 'preload.js'), // 预加载脚本
    },
  });

  // 加载 index.html 文件
  mainWindow.loadFile('index.html');

  // 打开开发者工具(如果需要,可以取消注释)
  // mainWindow.webContents.openDevTools();
};

// 当 Electron 完成初始化并准备创建浏览器窗口时调用此方法
// 部分 API 只有在 ready 事件触发后才能使用
app.whenReady().then(() => {
  createWindow();

  app.on('activate', () => {
    // 在 macOS 系统中,如果没有已打开的窗口,点击应用图标时会重新创建一个新窗口
    if (BrowserWindow.getAllWindows().length === 0) createWindow();
  });
});

// 除了 macOS 外,当所有窗口都被关闭时退出应用
// 对于 macOS 应用程序及其菜单栏,通常会保持激活状态,直到用户使用 Cmd + Q 明确退出
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit();
});

// 在这个文件中,你可以引入所有的主进程代码
// 你也可以将代码拆分成几个文件,然后使用 require 导入

执行终端运行

恭喜你成功的创建了一个electron项目,很简单吧,下一节课我会教你们接口暴露,和页面创建,因为这是出于node.js和electron的安全策略,它禁止渲染进程直接调用主进程的接口函数。

标签:node,窗口,elctron,创建,app,更新,js,electron,vue3
From: https://blog.csdn.net/a11108578/article/details/140157758

相关文章

  • mybatis-plus更新数据时,字段设为null不更新
    updateById()方法不能更新字段为null,即字段为null时,对该字段不会做处理解决方式:1、自己写sql更新,不用mybatisplus的快捷方法2、使用update方法结合UpdateWrapper方式更新以上两种最简便。其他方式:2.设置全局的FieldStrategy(不推荐)#properties文件格式:mybatis-plus.glob......
  • Oracle 临时表 OracleDataAdapter 批量更新
    ///<summary>///注意,字段名必需大小写保持一致///</summary>protectedstaticstringupdateSql=@"MergeintoTable_NameTUsingTempTableSON(T.USER_ID=S.USERID)WHENMATCHEDTHENUPDATESETT.NICK_NAME=S......
  • vue3 toref ref toRow unref等等使用和功能测试
    代码测试js代码constrowData=reactive({nameAbc:'sdfsdf'})console.log(rowData,"rowData")letrowDataValue=toRaw(rowData);console.log(rowDataValue,"rowdatavalue")//toRefs使对象本身转为普通对象,但是子属性全部转为refvalue方式//toRef......
  • 程序员的加油站,各类技术文章,可视化技术,在线源码资源,在线实用工具,数据爬虫接口持续集成
    先挂网址:https://wheart.cn可视化大屏模板与设计,在线预览上百例可视化模板技术文章、资源下载等各类资源导航页echart在线实用demo各种在线工具提升开发效率echart在线代码模板......
  • Vue3实战笔记(64)—Vue 3自定义指令的艺术:实战中的最佳实践
    文章目录前言一、一些简单的Vue3自定义指令超实用案例总结前言书接上文,在Vue3中,自定义指令是一种强大的工具,允许我们扩展HTML元素的功能。通过自定义指令,我们可以创建可重用的行为,并将它们绑定到任何元素上。下面,本文备份一些简单的Vue3自定义指令超实用案例,并解释......
  • python更新包、pip延时报错,pip check 查询冲突
    pip下载package或者更新package会出现延迟报错的问题,因为python默认使用的是国外镜像,有时候下载非常慢,我们可以选择进行换源,引用国内的镜像资源进行更新或者下载。阿里云: http://mirrors.aliyun.com/pypi/simple/中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/......
  • 常用脚本整理(不定时更新)
    mysql物理备份脚本1#!/bin/bashset-eUSER="backup"PASSWORD="backup"#数据库数据目录#DATA_DIR="/data/mysql"BIN_INDEX=$DATA_DIR"/mysql-bin.index"#备份目录#BACKUP_DIR="/data/backup/mysql"BACKUP_LOG="/var/log......
  • 初学vue3, 全是黑盒子,vue3知识点汇总
    学习Vue.js应该像学习一门编程语言一样,首先要熟练掌握常用的知识,而对于不常用的内容可以简单了解一下。先对整个框架和语言有一个大致的轮廓,然后再逐步补充细节。千万不要像学习算法那样,一开始就钻牛角尖。前序:vueAPI的风格分为:选项式和组合式,vue2中一般用选项式,所以文章......
  • SpringCloud Alibaba Nacos 配置动态更新源码学习总结
    众所周知,nacos两大核心功能,服务注册发现与动态配置支持服务注册发现的有:Eureka、Consul、Zookeeper、Nacos支持动态配置的有:SpringCloudConfig、Nacos、Apollo、Consul像支持分布式的框架,必须得借用第三方服务,比如定时任务调度xxl-job,分布式事务seata,都分为server端与client......
  • Winform SynchronizationContext多线程更新画面控件
    SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯。需要注意的是,不是每个线程都附加SynchronizationContext这个对象,只有UI线程是一直拥有的。故获取SynchronizationContext也只能在UI线程上进行SynchronizationContextcontex......