【问题标题】:Deploying Nightmare.js App To Heroku (Node.js + Telegraf)将 Nightmare.js 应用程序部署到 Heroku(Node.js + Telegraf)
【发布时间】:2020-11-30 08:05:46
【问题描述】:

我想将我的应用部署到包含使用 nightmare.js 进行网络抓取的 heroku,但我的应用在部署时无法运行。问题是什么? 这是基本代码...

bot.on('text', async (ctx) => {
  try{

    
    var input = ctx.message.text

    const def1 = await nightmare

      .goto('https://www.google.com/')
      
      .type('#term' ,input)
      .type('#term', '\u000d')
      
      .wait(200)

      .click('#rso > div:nth-child(1) > div > div.r > a > h3')

      .wait(200)

      .evaluate(() => document.querySelector('#content > div:nth-child(1) > div.meaning').textContent)
      
      // .end()
      // .then(console.log)

      .catch(err => {
        console.error(err)
      })


    console.log('def1 == ' + def1)
    
    await ctx.reply(def1)

  }

  catch(err){
    console.error(err)
  }


}) 

我省略了一些基本的 require 和 init 语句以使代码看起来更简单。而且它没有前端。都是后端。

当我在 heroku 上托管它时,它什么也不做。它说“干净退出 - 等待更改”。

那么我该怎么做才能将我的应用程序部署到 heroku?

【问题讨论】:

    标签: node.js heroku nightmare


    【解决方案1】:

    请提供更多信息:

    • 您是否在 package.json 中设置了“引擎”?
    • heroku 日志到底说了什么?

    【讨论】:

    • 不,我没有在 package.json 中设置引擎...heroku 日志说“干净退出”,它没有显示错误,但是命令“heroku local”工作正常
    • 尝试在 package.json 中设置引擎。这样,您可以确保在 heroku 上使用您希望使用的相同节点版本。
    • 节点不是问题。噩梦是。 heroku 不支持噩梦
    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 2012-10-30
    • 1970-01-01
    • 2017-09-14
    • 2016-04-08
    • 2016-07-24
    • 2021-03-13
    • 2014-07-16
    相关资源
    最近更新 更多