为什么Electron App无法在Windows中加载VueJS?

时间:2019-10-04 18:40:15

标签: javascript vue.js electron

我用电子程序构建了一个桌面应用程序,并且所有前端都使用了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)
})

我花了一天多的时间来寻找解决方案,但找不到任何东西,谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我不确定您如何构建它,但是我想您没有正确指向index.html。尝试将其更改为以下内容:

const url = process.env.NODE_ENV === 'DEV' ? `http://localhost:8080/#/` : `file://${__dirname}/index.html`

编辑: 我也建议您使用Vue /电子boilerplate