некоторые конечные точки работают только локально для узла с экспрессом на героку - PullRequest
0 голосов
/ 07 февраля 2019

Я следую этому руководству, чтобы настроить приложение node / express на heroku: https://devcenter.heroku.com/articles/getting-started-with-nodejs#define-config-vars

Все шаги работают локально, но работают только heroku open и heroku open cool.конечные точки / времена и / db дают Cannot Get.

heroku open times // невозможно GET / times

heroku open db // невозможно GET / db

heroku open// работает

heroku open cool // работает

const cool = require('cool-ascii-faces')
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000


const { Pool } = require('pg')
const pool = new Pool({  connectionString: process.env.DATABASE_URL,  ssl: true});

express()
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
  .set('view engine', 'ejs')
  .get('/', (req, res) => res.render('pages/index'))
  .get('/cool', (req, res) => res.send(cool()))
  .get('/times', (req, res) => res.send(showTimes()))
  .get('/db', async (req, res) => {
    try {
     const client = await pool.connect()
      const result = await client.query('SELECT * FROM test_table');
      const results = { 'results': (result) ? result.rows : null};
      res.render('pages/db', results );
      client.release();
    } catch (err) {
      console.error(err);
      console.log(process.env.DATABASE_URL);
      res.send("Error " + err);
    }
  })
  .listen(PORT, () => console.log(`Listening on ${ PORT }`))

  showTimes = () => {
    let result = ''
    const times = process.env.TIMES || 5
    for (i = 0; i < times; i++) {
      result += i + ' '
    }
    return result;
  }
...