Electron中的Angular + Express.js应用无法启动

时间:2018-07-03 07:13:26

标签: node.js angular typescript express electron

我已经成功地构建了MEAN App。现在,我希望该应用程序在电子内部运行。以下命令正在Web浏览器上运行

"electron-build": "ng build && node ./bin/www"

但是当我尝试这段代码

"electron-build": "ng build && electron . && node ./bin/www"

构建成功,应用程序以电子方式运行,但服务器未运行,并且当我从GUI退出电子应用程序时,我在控制台中获得了成功的连接日志。

现在当我尝试此代码时

"electron-build": "ng build && node ./bin/www && electron ."

服务器成功启动,但电子应用未渲染。

1 个答案:

答案 0 :(得分:0)

问题是两个进程(节点./bin/www和electronic。)不能在同一线程中执行。

您可以这样做

const { app, BrowserWindow } = require('electron')

const path = require('path');

function createWindow () {
    win2 = new BrowserWindow({ width: 800, height: 600 })

    win2.loadURL(
    path.join('file://', __dirname, '/index.html')
    );    
}

app.on('ready', createWindow)

然后在index.html中,使用server.js或app.js(带有node / express代码的文件)添加标签。喜欢:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Simple Mouse Control - Server</title>

        <script src="server.js"></script>

    </head>
    <body>
        Hola
    </body>
</html>

最后:

"electron-build": "ng build && electron ."