Серверное приложение React Express работает локально, но на Heroku происходит сбой клиента - PullRequest
0 голосов
/ 17 октября 2019

Я бьюсь головой о кирпичную стену, пытаясь понять это! У меня есть очень простое приложение, которое я создал, используя узел с экспресс-сервером и интерфейсом реакции.

Локально работает нормально, но при развертывании в Heroku серверная часть работает, если я, например, захожу на domain/api/Customers. Я получаю клиентов в виде необработанного списка.

Если я иду наdomain веб-страница просто говорит "Не найдено".

Это всего лишь небольшое приложение, поэтому я не ошибаюсь. Я не знаю, как пройти через это.

Спасибо за любую помощь, которую вы можете оказать!

enter code here
server.js

const express = require('express');
const app = express();
// Serve static files from the React app
const path = require('path');
console.log(path);
app.use(express.static(path.join(__dirname, 'client/build')));


var sql = require('mssql');
const http = require ('http');

var dbConfig = {
    user: "username",
    password: "password",
    server: "servername",
    database: "myDatabase",
    port:1433,
    connectionTimeout: 150000,
    requestTimeout: 150000,
    pool:{
        idleTimeoutMillis: 150000,
        max:25
},
options:{
    encrypt:true
    }
}

var connection = new sql.ConnectionPool(dbConfig);


app.get('/api/customers', (req,res) => {
    const customers = [
        {id: 1, firstName: 'John', lastName: 'Doe'},
        {id: 2, firstName: 'Mary', lastName: 'Swanson'},
        {id: 3, firstName: 'Steve', lastName: 'Smith'}
    ];
    res.json(customers);
});

app.get('/api/secData', (req,res) => {    
    connection.connect(err=>{
        if(err){
          console.log(err);
          res.statusCode = 200;
          res.setHeader('content','text/plain');
          res.end(err);
        }  
        else{
            var sqlrequest = new sql.Request(connection);
            sqlrequest.query("select * from sometable)",(err,result)=>{
              if(err){
                  console.log(`SQL Error`);
                  res.statusCode = 200;
                  res.setHeader('content','text/plain');
                  res.end("SQL Error");
                }
                else{
                  console.log(`Success`);
                  res.statusCode = 200;
                  res.setHeader('content','text/plain');
                  //res.end(result.recordset[0]["Legal Name"]);
                  res.json(result.recordset);
                  connection.close();
                }
            })

        }
    })
});

app.get('*', (request, response) => {
    console.log("errr");
    response.sendFile(path.join(__dirname, 'client/build',    'index.html'));
});

const port = 5000;

app.listen(process.env.PORT || port);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...