У меня есть внешний интерфейс приложения в 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))
}
});
});
....
....
Если я делаю что-то не так или есть способ лучше, дайте мне знать,