一直在搜索,但似乎找不到任何相关信息,我正在 vue 和 Quasar 的帮助下构建一个 Electron 应用程序。 C
显然,在主进程中创建了一个新的浏览器窗口,但是我应该将 browserwindow.loadURL() 指向哪里才能使其在开发和生产中都工作?我应该使用“process.env.APP_URL”吗?任何使用它的尝试都只需在子窗口中加载我的主窗口。
我在 /src 文件夹中有第二个Window .html/.js 文件。
使用 process.env.APP_URL 尝试了一些操作,例如 process.env.APP_URL + "/secondWindow" 或 process.env.APP_URL + "/#/secondWindow" 但它们都不起作用,最多只能让我进入主窗口开发者
遭受同样的问题并尝试解决它几乎一天,我想我终于找到了解决方法。
首先,将“/”路由到“Route.vue”
routes.js:
{
path: '/',
component: () => import('layouts/Route.vue'),
},
其次,像这样制作“Route.vue”
<template></template>
<script setup>
import { onBeforeMount } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
function searchParam(key) {
return new URLSearchParams(location.search).get(key)
}
onBeforeMount(() => {
const param = searchParam('page')
if (param) {
router.push({ path: `/${param}` })
}
})
</script>
它的作用基本上是从查询字符串参数和路由中获取页面信息。
最后,在 electro-main.js 中, 你这样调用 URL
mainWindow.loadURL(process.env.APP_URL + '?page=your_page_name')
这对开发和生产都适用。