我用电子程序构建了一个桌面应用程序,并且所有前端都使用了VueJS(以及Firebase),现在我编译它并在Windows上运行.exe
时, VueJS 不是完全加载后,带有“ app” ID的div不会显示,因此即使控制台未显示任何错误,也不会显示所有应用。
它能够加载相关的HTML文件,但是我找不到一种方法来加载通过VueJS制作的应用程序。在开发人员模式下,它的工作原理就像是一种魅力,我通过Vue-cli运行该应用程序,然后在另一个终端中运行电子。
这是main.js中与电子有关的代码:
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
let url
if (process.env.NODE_ENV === 'DEV') {
url = 'http://localhost:8080/#/'
} else {
url = `file://${process.cwd()}/resources/app/public/index.html`
}
app.on('ready', () => {
let window = new BrowserWindow({width: 800, height: 600})
window.loadURL(url)
})
与main.js有关的VueJS:
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './registerServiceWorker'
import ArgonDashboard from './plugins/argon-dashboard'
window.Event = new Vue();
Vue.config.productionTip = false
Vue.use(ArgonDashboard)
new Vue({
router,
render: h => h(App)
})
我花了一天多的时间来寻找解决方案,但找不到任何东西,谢谢您的帮助。
答案 0 :(得分:2)
我不确定您如何构建它,但是我想您没有正确指向index.html
。尝试将其更改为以下内容:
const url = process.env.NODE_ENV === 'DEV' ? `http://localhost:8080/#/` : `file://${__dirname}/index.html`
编辑: 我也建议您使用Vue /电子boilerplate