В файле Electron main.js
вам нужно require
ваш app.js
файл, чтобы запустить приложение Express, затем создать новый экземпляр BrowserWindow
и загрузить URL-адрес, который прослушивает ваше приложение Express.
Обратите внимание, что вам придется либо жестко кодировать IP и PORT в Electron, либо экспортировать их из Express и импортировать их в скрипт * Electron main.js
.
./main.js
const { BrowserWindow, app } = require('electron')
require('./app.js')
let mainWindow = null
function main() {
mainWindow = new BrowserWindow()
mainWindow.loadURL(`http://localhost:3000/`)
mainWindow.on('close', event => {
mainWindow = null
})
}
app.on('ready', main)
. / package.json
{
"name": "your-app-name",
"version": "1.0.0",
"description": "A description of your application",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"repository": "https://github.com/link/to/repo",
"keywords": [ "some","keywords" ],
"author": "You",
"license": "Your License",
"dependencies": {
"ejs": "^2.6.1", // required for your specific example where `ejs` package is used
"electron": "^3.0.9",
"express": "^4.16.4"
}
}
Тогда вам захочетсячтобы убедиться, что каталог node_modules
находится в том же каталоге, что и main.js
и package.json
.
Наконец, вы можете запустить приложение Express / Electron, используя:
> npm start
Если ваше приложение Express не находится в том же каталоге, что и Electron, вам нужно будет соответственно указать каталог views
для экспресс:
app.js
var path = require('path')
var request = require("request");
var express = require("express");
var app = express();
app.set('views', path.join(__dirname, '/views'));
...
Где /views
- каталог относительно app.js
, содержащий ваши представления.