//npm run dev 的时候一切正常但是 build的时候 使用的是
mainWindow.loadFile(join(__dirname, '../renderer/index.html'))
//打包完成后router是空白的没有显示
//解决方案 修改 mainWindow.loadFile 添加 hash参数
mainWindow.loadFile(join(__dirname, '../renderer/index.html'), {
hash: 'home',
})
//到这里还没完,VueRouter.createRouter 也要修改一下 history
VueRouter.createRouter({
history: VueRouter.createWebHashHistory(), //这里修改成 createWebHashHistory
routes,
})
例子:
//src/renderer/src/router.ts
import * as VueRouter from 'vue-router'
const routes = [
{ path: '/', redirect: '/home' },
{ path: '/home', component: (): Promise<any> => import('./window/Home.vue') },
{
path: '/table',
component: (): Promise<any> => import('./window/Table.vue'),
},
]
export const router = VueRouter.createRouter({
history: VueRouter.createWebHashHistory(),//修改这里
routes,
})
//src/main/index.ts
...
// HMR for renderer base on electron-vite cli.
// Load the remote URL for development or the local html file for production.
if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
} else {
//修改这里
mainWindow.loadFile(join(__dirname, '../renderer/index.html'), {
hash: 'home',
})
}
...