ссылка на Express реакции БЕЗ создания-реакции-приложения - PullRequest
0 голосов
/ 02 апреля 2020

Я знаю только реакцию и node JS express связку, поэтому мне нужна помощь. Возможно, этот вопрос уже был задан кем-то, но я лично не нашел такой же вопрос с тем же стеком. Вопрос в следующем:

Как связать запросы в express с MySQL передачей данных в компоненте реагирования Я сделал некоторые начальные настройки для webpack, babel, и теперь компонент передается в запрос /, но Я знаю, что вам нужно связать реакцию и express через прокси-сервер, поскольку эта технология используется в create-реагировать-приложение.

Сейчас это древовидная структура моего приложения:

enter image description here

webpack.config. js:

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  entry: "./src/index.js",
  output: {
    path: path.join(__dirname, "/dist"),
    filename: "bundle.js"
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: ["babel-loader"]
      },
      {
        test: /\.css$/,
        use: ["style-loader", "css-loader"]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: "./src/index.html"
    })
  ]
};

.babellr c:

{
  "presets": ["@babel/preset-env","@babel/preset-react"]
}

express . js:

const path = require('path'),
      express = require('express'),
      bodyParser = require('body-parser'),
      cookieParser = require('cookie-parser'),
      app = express(),
      mysql = require('mysql2');

const conn = mysql.createPool({
    host: 'localhost',
    user: 'root',
    database: 'internet_magazine',
    password: 'Plmoknn1605',
    port: '3306'
});

app.get("/", (req, res) => {
    conn.query('select * from table', (err,result) => {
       // how to pass data to react component and return it with this data 
    });
});

PS. скорее всего, я что-то сделал неправильно, но сам не могу понять, поэтому буду рад любой помощи

1 Ответ

0 голосов
/ 02 апреля 2020

Я бы лично разделил проект на две части:
Первое приложение, которое просто реагирует и будет вызывать необходимые apis из него при необходимости. Использует js fetch / axios / что-то еще, где это необходимо для совершения вызова.
Второе приложение, единственная ответственность которого заключается в подключении к MySQL БД и предоставление необходимых apis, которые первое приложение может вызвать и использовать.

Обоснование (чтобы назвать несколько):
Вы хотите, чтобы два приложения работали независимо и максимально повторно для использования.
Если одно приложение не работает, другое приложение не должно быть затронуто.
Различные команды вместо этого все они могут работать в разных приложениях.

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