Как развернуть приложение React + Express в Heroku? - PullRequest
1 голос
/ 10 марта 2020

У меня есть структура папок, подобная этой:

  • Клиент // он содержит приложение реакции
  • Узел_модулей
  • Приложение. js // это где Код сервера:
  • Пакет. json
  • Пакет-блокировка. json

Мне нужно развернуть его на Герою. Внутри одного файла приложения реагировать. У меня есть: Это единственный файл, взаимодействующий с бэкендом.

axios.post('http://localhost:5000/api/form' , data)
.then(()=>{
    console.log('message sent')
}).catch(err=>{
    console.log('failed');
})

Сейчас в приложении. js (бэкэнд-файл), у меня было:

const express = require('express') ;
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer') ;
const cors = require('cors');
const port = process.env.PORT || 5000 ;

const app = express();
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended : false}));

app.post('/api/form' , (req , res)=>{
    //something
})

app.listen(port , ()=>{
    //something
})

Итак, что я должен изменить или добавить, чтобы развернуть его в Heroku.

1 Ответ

2 голосов
/ 10 марта 2020

Хорошо, есть пара вещей, которые вам нужно сделать:

допустим, ваше приложение на heroku имеет имя myapp, в результате чего https://myapp.herokuapp.com отображается как root url

Сначала измените ваш топор ios вызовите что-то вроде этого:

    axios.post('http://myapp.herokuapp/api/form' , data)
    .then(()=>{
        console.log('message sent')
    }).catch(err=>{
        console.log('failed');
    })

и измените ваш пакет. Сценарий json, чтобы отразить это:

 "build":"cd client and npm run build" 

Также упомяните двигатель:

"engines": {
"node": "10.x"}
...