React Express Server App在本地工作,但客户端在Heroku上失败

时间:2019-10-16 22:46:05

标签: javascript reactjs heroku

我在砖墙上敲打头,试图弄清楚这一点!我有一个非常基本的应用程序,该应用程序是使用带有快速服务器和React前端的节点创建的。

它在本地运行良好,但是当我部署到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);

0 个答案:

没有答案