اذهب إلى المحتوى
  • 0

react rendering من express

Rayden Storm

السؤال

احاول انشاء template لكل مشاريعي المستقبلية باستخدام react و express و أريد كل شئ ان يكون على سيرفر واحد فقمت بانشاء تجهيز express يسمح ب تقديم مجلد ال build الخاص ب react على شكل view ولكن بما انهما على سيرفر واحد عانيت من مشكلة routing بين express و react router ولكن قمت بالاجتهاد وحللت المشكلة لكن لا اعرف مدى صحة ما قمت به

const express = require('express');
const mongoose = require('mongoose');
const morgan = require('morgan');
const cors = require('cors');
require('dotenv').config();



const errorController = require('./controllers/errorController');

const { upload } = require('./helpers/upload');

mongoose.set('useFindAndModify', false);

const app = express();

app.use(cors());
app.use(morgan('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));

app.use(express.static(__dirname + '/client/dist'));


app.get('/#/*', function (req, res) {
  res.sendFile(__dirname + '/client/dist/index.html');
});

app.use(errorController);

mongoose
  .connect(process.env.MONGO_URI_DEV, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
  .then(() => {
    app.listen(process.env.PORT, () => {
      console.log('listening ' + process.env.PORT);
    });
  })
  .catch(() => {
    console.log('mongoose connection failed');
  });

قمت ياستخدام hashroute الخاص ب react router وفي كل مرة اصل الى رابط فيه # أرسل ال index.html ارجو اخباري اذا ما كنت ارتكبت خطأ سيعطل مسار العمل في المستقبل 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

إستعملت نفس الطريقة و لا يوجد بها أي ضرر خصوصا أن الرئاكت يستعمل virtual Dom أي أنه لا يقوم بإرسال الصفحة كامله بل يرسل التغييرات و يتم أستقبالها و تعديل هذه التغييرات بشجرة الdom  

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...