【发布时间】:2017-07-11 12:40:52
【问题描述】:
我有一个应用程序,它有独立的 ExpressJS 后端和独立的 HTML 前端。
我的 ExpressJS 后端位于root/scripts/server.js
我的 HTML 前端位于 root/index.html。这个前端使用了javascript逻辑,由webpack生成,并且可以正常工作。
为了使这个项目正常运行,我首先使用以下命令启动我的 ExpressJS 后端:
babel-node ./scripts/server.js --presets es2015,stage-0
然后我打开我的index.html,一切正常。
现在我想使用 ElectronJS 将后端和前端打包到一个桌面应用程序中。
我的项目有main.js 脚本,它以桌面模式启动电子应用程序。它位于root/main.js。它有以下代码:
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
const path = require('path')
const url = require('url')
let mainWindow
function createWindow () {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true,
useContentSize: true,
resizable: false
})
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))
mainWindow.webContents.openDevTools()
mainWindow.on('closed', function () {
mainWindow = null
})
}
app.on('ready', createWindow)
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', function () {
if (mainWindow === null) {
createWindow()
}
})
此脚本仅启动我的 HTML 前端。为了将 Express 后端与 HTML 前端打包,我需要添加什么?
【问题讨论】:
-
看看这个electron-express 并从中获得灵感。
标签: javascript html node.js express electron