electron打包扩展插件,可分项目管理版本号、获取git commit提交内容整理到release note输出、打包完后自动上传到FTP服务器。
npm install @hssoft/vue-cli-plugin-electron-build-extend -D
- 在项目跟目录的
packagedConfig
(如果没有先创建)文件夹下创建项目名.jsonc
文件,(项目名要与执行命令的环境变量BUILD_PROJECT的值相同),内容示例如下:
{ // 版本
"version": "1.0.0",
// 测试版打包次数,每次打包完成后会在此基础上加1,正式版打包后置为1
"times": 1,
// 属性名 特定标识的属性
"property": "Setup",
// 生产环境下安装包的名称格式
// name: 项目名称,来源于vue.config.js中的pluginOptions.electronBuilder.builderOptions.productName
// property: 属性名
// version: 版本
"name-format-prod": "{name} {property} {version}",
// 开发环境下安装包的名称格式
// name: 项目名称,来源于vue.config.js中的pluginOptions.electronBuilder.builderOptions.productName
// property: 属性名
// version: 版本
// creator: 创建者,来源于接受用户输入的creator
// times: 打包次数
"name-format-dev": "{name} {property} {version}-debug-{creator}-{times}",
// 最新一次正式包的构建日期
"last-build-date-prod": "2025-03-09 23:00:48",
// 最新一次测试包的构建日期
// 正式包构建后,此日期会被更新为正式包的构建日期
"last-build-date-dev": "2025-03-01 08:00:00",
// 发布到FTP文件夹名称
"publish-folder": "xxx医院",
// 生产环境打包日志模板
"release-note-template-prod": "# xxx医院{artifactName}\r\n - 【===正式版,请验证后给医护人员使用===】\r\n - 发布日期:{releaseDate}\r\n\r\n## 修改如下:\r\n{releaseNote}",
// 开发环境打包日志模板
"release-note-template-dev": "# xxx医院{artifactName}\r\n - 【===测试版,请不要给医护人员使用===】\r\n - 发布日期:{releaseDate}\r\n\r\n## 修改如下:\r\n{releaseNote}"
}
- 在
package.json
的scripts
里添加如下命令:
"electron:build:extend": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode production",
"electron:build:extend:dev": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode debugger",
"electron:build:extend:no-publish": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode production no-publish",
"electron:build:extend:dev:no-publish": "cross-env BUILD_PROJECT=xxx vue-cli-service electron:build:extend --mode debugger no-publish"
- 设置
git
的user
非必须,调试包使用,默认打包人的名字,如果不设置手动输入也可以
git config --global user.name "你的用户名"
- 设置FTP
非必须,如果不通过FTP上传可以不设置,FTP上传成功后会删除本地压缩包
git config --local ftp.host "127.0.0.1"
git config --local ftp.port 21
git config --local ftp.user "zhangsan"
git config --local ftp.password "123456"
<type>(<scope>): <subject>
- type(必须): 用于说明git commit的类别,只允许使用下面的标识: feat | fix | docs | style | refactor | test | perf | chore | revert | merge | ci 。
-
scope(必须): 用于说明 commit 影响的项目,如果是所有项目受影响可使用
*
。
生成的release note会根据scope筛选,默认只筛选本项目和*的提交
- subject(必须): commit目的的简短描述,不超过50个字符。
示例如下:
feat(*): 抢救工作站列表查询增加专科、去向查询
fix(cs531): 修复评分联动分诊信息显示错误