使用electron本身项目使用vue-cli开发。在使用electron之前,需要对开发好的vue项目进行打包,生成打包后的一个html文件和其他静态资源文件。然后就可以直接拿官方的demo进行打包了。克隆官方的demogitclonehttps://github.com/electron/electron-quick-start启动项目cdlectron-quick-start->npminstall->npmstart,你可以在这里运行demo。将electron-quick-start(根目录)文件夹下的dist文件中的index.html等文件放入,重启,运行结果如图,这样一个已有的vue项目已经集成到electron中了.打包生成exe文件项目集成到electron中,接下来就是打包生成我们需要的桌面exe文件了。安装插件npminstallelectron-packager--save-dev添加命令行在package.json中添加如下代码命令:"pack":"electron-packager.testexe--platform=win32--arch=x64--out=。/out--asar--app-version=0.0.1"testexe为打包生成的exe文件名。/out为输出路径app-version=0.0.1为版本号打包操作命令打包成功npmrunpack打包后的文件结构:双击exe文件即可运行。注意,在electron中进行网络请求时,由于项目本身使用了反向代理,打包后会在请求路径前加上本地路径“file:e/”。解决方法:将请求地址的完整路径添加到项目中,可以根据自己的需要自定义修改隐藏菜单栏Electron默认有一个顶部菜单栏,有时候我们的应用并不需要。可以在main.js中设置隐藏菜单。代码如下://Modulestocontrolapplicationlifeandcreatenativebrowserwindowconst{app,BrowserWindow,Menu}=require('electron')constpath=require('path')functioncreateWindow(){//隐藏菜单Menu.setApplicationMenu(null)//Createthebrowserwindow.constmainWindow=newBrowserWindow({width:800,height:600,webPreferences:{preload:path.join(__dirname,'preload.js')}})//加载app的index.html.mainWindow.loadFile('index.html')//打开theDevTools.//mainWindow.webContents.openDevTools()}这样默认的菜单栏是隐藏的,下面提供一些常用的配置项:在main.js中,配置BrowserWindow改变外观widthInteger-窗口宽度,单位像素。默认为800.heightInteger-窗口高度,单位像素。默认值为600.xInteger——窗口相对于屏幕的左偏移位置。默认是居中的。yInteger——窗口相对于屏幕顶部的偏移位置,也就是说实际窗口的大小应该包括窗框的大小,会稍微大一点。默认为false.centerBoolean-窗口屏幕居中。minWidthInteger-窗口的最小宽度,默认为0.minHeightInteger-窗口的最小高度,默认为0。maxWidthInteger-窗口的最大宽度,默认是unlimited.maxHeightInteger-窗口的最大高度,默认是unlimited.resizableBoolean-窗口大小是否可以改变,默认是true.movableBoolean-窗口是否可以拖动。在Linux上无效。默认为true.minimizableBoolean-窗口是否可以最小化。在Linux上无效。默认为true。maximizableBoolean-窗口是否可以最大化。在Linux上无效。默认为true。closableBoolean-窗口是否可以关闭。在Linux上无效。默认为true。alwaysOnTopBoolean-窗口是否始终显示在其他窗口的前面。对Linux没有影响。默认为false.fullscreenBoolean-窗口是否可以全屏。当明确设置为Whenfalse时,全屏按钮将在macOS上隐藏和禁用。默认为假。fullscreenableBoolean-在macOS上,全屏按钮是否可用,默认为true。skipTaskbarBoolean-是否在任务栏中显示窗口。默认为假。kioskBoolean-信息亭模式。默认为假。titleString-窗口的默认标题。默认值为“电子”。iconNativeImage-窗口图标,如果未设置,窗口将使用可用的默认图标。showBool??ean-创建窗口时是否显示。默认为真。frameBoolean-指定false以创建FramelessWindow。默认为真。acceptFirstMouseBoolean-是否允许点击webview来激活窗口。默认为false。disableAutoHideCursorBoolean-是否在键入时隐藏鼠标。默认值为false。autoHideMenuBarBoolean-除非您单击Alt,否则隐藏菜单栏。默认为false。enableLargerThanScreenBoolean——是否允许改变窗口大小大于屏幕。默认为假。backgroundColorString-十六进制的窗口背景颜色值,如#66CD00或#FFF或#80FFFFFF(支持透明度)。在Linux和Windows上默认为#000(黑色),在Mac上默认为#FFF(或透明)。hasShadowBool??ean-窗口是否有阴影。仅在macOS上有效。默认为真。darkThemeBoolean-为窗口使用深色主题,仅在某些使用GTK+3的桌面环境中有效。默认为假。transparentBoolean-窗口透明。默认是false.typeString-窗口类型,默认是普通窗口。详见下文。titleBarStyleString-窗口标题栏样式。详见下文。webPreferencesObject-设置接口特性。请参阅下面的更多内容。
