Как развернуть фронтенд React js и бэкэнд node js на сервере apache tomcat как один файл war? - Реагировать js - PullRequest
0 голосов
/ 26 мая 2020

У меня есть внешний интерфейс приложения в React. js и бэкэнд на node.js, который подключен к базе данных MySQL.

Теперь я могу использовать команду mvn package для преобразовать внешний интерфейс реакции в один файл war и развернуть его на сервере apache tomcat, но сервер node js недоступен на сервере tomcat, так как сервер не находится в файле войны.

Итак, как мне объединить интерфейс и серверную часть в один файл war для развертывания на сервере apache tomcat?

Я использую React. js, node js, express js, MySql

это часть внешнего интерфейса, где приложение React использует ax ios для выборки из серверной части и для подключения к MySql.

....
....
export const registerUser=(userData)=>async(dispatch)=>{
    console.log(userData);
    await mysqlDB.post('/registered_user/new',userData)
    .then((response)=>{
        dispatch({type:ActionTypes.USER_REGISTER_SUCCESS,payload:response.data});
        History.push('/');
    })
    .catch((error)=>dispatch({type:ActionTypes.USER_REGISTER_FAILED}))
}

....
....

И это мой Backend в node.js, подключенном к Mysql


const express = require('express');
const cors = require('cors');
const app = express();
var bodyParser = require('body-parser')


var mysql= require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'rittesh_react',
  password : 'root',
  database : 'chess4loudoun',
  timezone : '+00:00'
});

connection.connect(function(err) {
    if (err) {
      res=err.stack;
      console.error('error connecting: ' + err.stack);
    }
  else{
    res=connection.threadId;
    console.log('connected as id ' + connection.threadId);
  } 
});

app.use(cors());
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }));


app.post('/registered_user/new',(request,response)=>{
    const {uscf_id,first_name,middle_name,last_name,
        email_id,password,address,city,state,postal_code,country,phone_code,phone_number,
        sms_campaign,email_campaign}=request.body;
        console.log(uscf_id);
    connection.query("INSERT INTO registered_user VALUES ( '"+uscf_id+"','"+first_name+"','"+middle_name+"','"+last_name
    +"','"+email_id+"','"+password+"','"+address+"','"+city
    +"','"+state+"','"+postal_code+"','"+country+"','"+phone_code
    +"','"+phone_number+"','"+sms_campaign+"','"+email_campaign+"')",function (error,result,fields){
        if(error){
            throw error;
        }else{
            response.send(JSON.stringify(result))
        }
    });
});

....
....

Если я делаю что-то не так или есть способ лучше, дайте мне знать,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...