使用Vuejs开发了Electron应用程序,开发过程中一切正常,但是打包后,在启动后一直弹出此窗口(注意:这是示例图片-我没有说“windowsdefender”,但其他方面都一样)。
使用electron-builder使用以下build json创建应用程序,并将其安装在PC上:
{
"productName": "My App",
"appId": "com.mycompany.myapp",
"win": {
"icon": "build/icon.png",
"target": [
"nsis"
]
}
}
尽管该应用确实打开,但没有初始屏幕。但是,我可以打开开发工具,但不会显示任何错误。关于什么原因或解决方法的任何想法?
最佳答案
经过多次尝试,我终于弄清楚了(或者至少我想我知道是什么原因引起的)。
主要问题是,在使用vue路由器(通过Web移植的应用程序)时,使用“哈希”模式而不是“历史记录”很重要。将此添加到您的路由器文件:
const router = new VueRouter({
mode: process.env.IS_ELECTRON ? "hash" : "history",
routes
});
有关更多详细信息(常见问题),请参见此链接:Vue CLI plugin common issues其次,我认为存在权限问题(即具有较高的安装权利),因此我将此行以及guid添加到了我的electronic-builder.json文件中。结果是一个这样的构建文件:
{
"productName": "My App",
"appId": "com.abcco.my-app",
"win": {
"icon": "build/icon.png",
"target": "nsis",
"requestedExecutionLevel": "requireAdministrator"
},
"nsis": {
"guid": "6ee647a9-d5c6-46a9-a480-aa7d6d3d1c10",
"oneClick": false,
"allowToChangeInstallationDirectory": true
}
}
由于我仅针对Windows开发,因此我可以使用此页中的资料( react 但与Electron包装没有太大不同):Electron Build file help
我做的最后一件事是删除所有“dist”文件并完全卸载该应用程序(以前的版本)。我认为这消除了测试遗留的许多“行李”。
希望这可以帮助可能遇到相同问题的其他人。
关于electron - Electron :继续获取 'You'需要一个新应用来打开此屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65156735/