基於以前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