Node.js 噩梦永远在上演?

Node.js 噩梦永远在上演?,node.js,nightmare,Node.js,Nightmare,我在CentOS 7 server()上运行了一个简单的噩梦应用程序,它将永远运行,尽管它通过一个简单的res.send('hello world')传递,但不会返回任何结果 我正在使用节点6.11。同样的代码在本地PC上运行良好 const express = require('express') const app = express() app.get('/', function (req, res) { //res.send('hello world')

我在CentOS 7 server()上运行了一个简单的噩梦应用程序,它将永远运行,尽管它通过一个简单的res.send('hello world')传递,但不会返回任何结果

我正在使用节点6.11。同样的代码在本地PC上运行良好

    const express = require('express')
    const app = express()

    app.get('/', function (req, res) {
    //res.send('hello world'); => works fine for port 3000
      var Nightmare = require('nightmare');     
    var nightmare = Nightmare({ show: false });

    nightmare
      .goto('https://www.google.com') 
      .wait('#searchform')
      .evaluate(function () {
        return (document.body.innerHTML);
      })
      .end()
      .then(function (result) {
        console.log(result);
      })
      .catch(function (error) {
        console.error('Search failed:', error);
      });
    })

    app.listen(3000, function () {
      console.log('Example app listening on port 3000!')
    })

首先,Electron具有静态库依赖项,您需要在服务器上单独安装

此外,您还需要使用XVFB运行节点服务器,因为它没有显示器。()

命令将以如下方式结束。
$xvfb run node.js

我在Ubuntu上安装了所有东西,如下所示:

apt-get install -y libgtk2.0-0 libnotify-bin libgconf-2-4 libnss3 libxss1 
x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic 
x11-apps clang libdbus-1-dev libgtk2.0-dev libnotify-dev libgnome-keyring-
dev libgconf2-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 
libnss3-dev xvfb
您将需要执行CentOS等效的操作


运行electron standalone进一步调试
$/node\u模块/electron/dist/electron

是否可以从CentOS服务器访问google.com?代码在我看来很好。它应该是默认超时(30秒),或者应该显示一些错误。在Linux上运行无头噩梦EJS似乎有问题。对谷歌有很多抱怨,但很难让它工作。你有没有试过在没有
Express
的情况下运行它,即直接运行?噩梦严重依赖电子来完成繁重的工作。而Electron又依赖于几个以UI为中心的依赖项(例如libgtk+),这些依赖项在服务器发行版中经常缺失。和