基于以前index.html已经能正常展现的前提下,在你项目build文件夹中建立如下2个文件 main.js
const electron = require('electron'); // 控制应用生命周期的模块 const {app} = electron; // 建立本地浏览器窗口的模块 const {BrowserWindow} = electron; // 指向窗口对象的一个全局引用,若是没有这个引用,那么当该javascript对象被垃圾回收的 // 时候该窗口将会自动关闭 let win; function createWindow() { // 建立一个新的浏览器窗口 win = new BrowserWindow({width: 1920, height: 1080}); // 而且装载应用的index.html页面 win.loadURL(`file://${__dirname}/index.html`); // 打开开发工具页面 //win.webContents.openDevTools(); // 当窗口关闭时调用的方法 win.on('closed', () => { // 解除窗口对象的引用,一般而言若是应用支持多个窗口的话,你会在一个数组里 // 存放窗口对象,在窗口关闭的时候应当删除相应的元素。 win = null; }); } // 当Electron完成初始化而且已经建立了浏览器窗口,则该方法将会被调用。 // 有些API只能在该事件发生后才能被使用。 app.on('ready', createWindow); /* var mainWindow = new BrowserWindow({ webPreferences: { nodeIntegration: false } }); */ // 当全部的窗口被关闭后退出应用 app.on('window-all-closed', () => { // 对于OS X系统,应用和相应的菜单栏会一直激活直到用户经过Cmd + Q显式退出 if (process.platform !== 'darwin') { app.quit(); } }); app.on('activate', () => { // 对于OS X系统,当dock图标被点击后会从新建立一个app窗口,而且不会有其余 // 窗口打开 if (win === null) { createWindow(); } }); // 在这个文件后面你能够直接包含你应用特定的由主进程运行的代码。 // 也能够把这些代码放在另外一个文件中而后在这里导入。
这里贴的别人的代码,你若是想修改,学习electron去吧,这里只是简单介绍。
package.jsonjavascript
{ "name":"crh_chat", "version":"1.0-test", "main":"main.js", "author": { "name":"YOURNAME" }, "license": "MIT" }
在build文件夹下打开命令行html
electron-packager . crh-chat --win --out=release --arch=x64 --version=1.0.0 --electron-version=1.8.4 --overwrite --icon=./favicon.ico
这是个人,具体参数你得根据本身的修改,使用以下前端
多说一嘴,若是你的react项目index页面死活出不来,多是你使用了react-router的BroswerHistory,换成HashHistory就能够了。
VUE项目出不来的话,很大多是使用了history路由模式,改为hash路由模式就能够了java