第一步 编译vue项目

#编译vue项目得到dist目录
npm run build 

#注意,路由模式需要是#模式 createWebHashHistory
import { createRouter, createWebHistory, RouteRecordRaw, createWebHashHistory} from 'vue-router';

const router = createRouter({
  history: createWebHashHistory(),
  routes
})

或者
import { createRouter, createWebHistory,createWebHashHistory } from 'vue-router'

const router = createRouter({
  mode: process.env.IS_ELECTRON ? 'hash': 'history',
  history: process.env.IS_ELECTRON? createWebHashHistory(process.env.BASE_URL):createWebHistory(process.env.BASE_URL) ,
  routes
})

第二步,新建一个demo

vue create demo
#手动选择,不要代码检查,vue3.x和ts模式,
npm install -D ts-loader@8.4.0  #ts-loader版本需要低于9.0 原因9.0不支持 webpack 4
vue add electron-builder

#修改src/background.ts
import { ...Tray,Menu   } from 'electron'

const path = require('path');

async function createWindow() {
   const appIcon = new Tray(path.join(__dirname,'./app.png') )  //拖盘图标对就在文件在编译后的dist目录下,或者第一步的public目录下
   Menu.setApplicationMenu(null); //清除菜单   
   const win = new BrowserWindow({
    width: 1280,
    height: 768,
    //titleBarStyle: 'hidden' , //无标题栏
    //frame: false          //无边框
    //fullscreenable: true,  //全屏
    //fullscreen: true,
    //simpleFullscreen:true,
    icon: path.join(__dirname,'./app.png'),

app.on('ready', async () => {
   /*
   注释掉
   */ 
  createWindow()
})
if (isDevelopment) {
  /*
  注释掉
  */ 
}



#编译
yarn electron:serve
yarn electron:build

第三步复制文件,asar打包

第二步编译后 
复制 dist_electron/bundled/background.js 到第一步 /dist下
复制第一步package.json 到 /dist下
添加字段
{
  "main": "background.js",
  ...
}


在dist目录下运行
asar pack ./ default_app.asar

发布

下载electron-v0.25.1-darwin-x64r解压
我们就可以通过对文件的修改实现app桌面应用的定比如标题,关于,版本,图标等等
把app 复制到resources 下替换default_app.asar 
修改electron.exe为你要的名字即可

修改electron.exe图标和文件信息,Resource Hacker工具:http://www.angusj.com/resourcehacker/
右键更换图标
这其实并不够,我们还需要更换exe里面的版本信息,打开Version Info,把FileDescription和ProductName改成我们自己的项目名称,最好把SquirrelAwareVersion也更改一下,毕竟是版本号。