我有一个应用程序,它有单独的 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
脚本,它在桌面模式下启动 Electron 应用程序。它位于 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 前端打包在一起,我需要添加什么?
最佳答案
尝试在 main.js 中添加类似的内容:
const server = require('./scripts/server');
关于javascript - Electron JS,使用 Express 后端和单独的 html 前端启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42374989/