131 lines
4.3 KiB
Markdown
131 lines
4.3 KiB
Markdown
# electron-app
|
||
|
||
- [Vue3](https://cn.vuejs.org) + [ElementPlus](https://element-plus.org/zh-CN/) + [electron-vite](https://cn-evite.netlify.app/) + [Electron](https://www.electronjs.org/zh/)
|
||
|
||
|
||
|
||
### 安装
|
||
|
||
```bash
|
||
$ npm install
|
||
```
|
||
|
||
### 启动
|
||
|
||
```bash
|
||
$ npm run dev
|
||
```
|
||
|
||
### 打包
|
||
|
||
```bash
|
||
# For windows
|
||
$ npm run build:win
|
||
|
||
# For macOS
|
||
$ npm run build:mac
|
||
|
||
# For Linux
|
||
$ npm run build:linux
|
||
```
|
||
|
||
### 项目目录结构
|
||
|
||
```bash
|
||
├── build // 编译过程输出文件目录
|
||
├── dist // 打包后输出目录
|
||
├── node_modules // 依赖模块
|
||
├── out //编译过程输出文件目录
|
||
├── resources // 公共资源文件,主进程使用
|
||
│ └── icon.png //默认图标
|
||
├──src
|
||
│ ├── main // 主进程开发目录
|
||
│ │ └── index.js //主进程入口文件
|
||
│ ├── preload // 预加载脚本开发目录
|
||
│ │ └── index.js // 预加载默认脚本
|
||
│ └── renderer // 渲染进程开发目录,类似纯web项目根目录
|
||
│ ├── src
|
||
│ │ ├── assets //资源文件目录
|
||
│ │ ├── components //组件目录
|
||
│ │ ├── App.vue // 入口页面
|
||
│ │ └── main.js // 入口文件
|
||
│ └── index.js.html // 默认html文件
|
||
├── .editorconfig
|
||
├── .eslintignore //eslint代码检查忽略配置文件
|
||
├── .eslintrc.cjs //eslint代码检查配置文件
|
||
├── .gitignore //git忽略配置文件
|
||
├── .npmrc // npm源配置文件
|
||
├── .prettierignore //prettier代码格式化忽略配置文件
|
||
├── .prettierrc.yaml //prettier代码格式化配置文件
|
||
├── dev-app-update.yml
|
||
├── electron-builder.yml //打包配置文件
|
||
├── electron.vite.config.mjs //electron-vite配置文件
|
||
├── package-lock.json
|
||
├── package.json
|
||
└── README.md //项目说明
|
||
|
||
```
|
||
|
||
|
||
|
||
### electron-builder.yml配置说明
|
||
|
||
```json
|
||
appId: com.electron.test //appid 包名
|
||
productName: 测试程序 //安装程序的名字
|
||
directories:
|
||
buildResources: build
|
||
files:
|
||
- '!**/.vscode/*'
|
||
- '!src/*'
|
||
- '!electron.vite.config.{js,ts,mjs,cjs}'
|
||
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
|
||
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
|
||
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
|
||
asarUnpack:
|
||
- resources
|
||
win:
|
||
executableName: 测试程序
|
||
icon: build/icon/favicon.ico //程序图标
|
||
nsis:
|
||
oneClick: false //是否一键安装
|
||
allowElevation: true //允许请求提升。若为false,则用户必须使用提升的权限重新启动安装程序。
|
||
allowToChangeInstallationDirectory: true //是否允许修改安装目录
|
||
createDesktopShortcut: true //卸载时图标
|
||
createStartMenuShortcut: true // 是否创建开始菜单图标
|
||
runAfterFinish: false //是否安装完成后运行
|
||
include: ../build/script/installer.nsh //我这里放的是将应用程序默认安装在哪个路径
|
||
artifactName: ${name}-${version}-setup.${ext}
|
||
uninstallDisplayName: ${productName}
|
||
installerIcon: ./build/icon.ico // 安装时图标
|
||
uninstallerIcon: ./build/icon.ico
|
||
mac:
|
||
entitlementsInherit: build/entitlements.mac.plist
|
||
extendInfo:
|
||
- NSCameraUsageDescription: Application requests access to the device's camera.
|
||
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
|
||
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
|
||
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
|
||
notarize: false
|
||
dmg:
|
||
artifactName: ${name}-${version}.${ext}
|
||
linux:
|
||
target:
|
||
- AppImage
|
||
- snap
|
||
- deb
|
||
maintainer: electronjs.org
|
||
category: Utility
|
||
appImage:
|
||
artifactName: ${name}-${version}.${ext}
|
||
npmRebuild: false
|
||
publish:
|
||
provider: generic
|
||
url: https://example.com/auto-updates //程序升级的验证地址
|
||
electronDownload:
|
||
mirror: https://npmmirror.com/mirrors/electron/
|
||
```
|
||
|
||
|
||
|