В моем проекте мне нужно приложение администратора. Я наткнулся на админ-реакцию. Кажется, он делает именно то, что мне нужно. Я проверил их учебник . Сделал несколько черновиков и запустил их (следуя инструкциям).
Однако у меня есть приложение Express, у которого уже есть маршруты и API, а также приложение React, обслуживаемое Express. Вместо этого я хотел бы использовать Admin-React, другими словами удалить существующее приложение React и начать настраивать его как статический ресурс. Проще говоря, мое существующее приложение Express должно обслуживать React-Admin и предоставлять ему существующие API.
Глядя на учебники, я не нашел информации, как это сделать. У него был запуск пряжи, и он начинает работать на порту 3000.
Мне не хватает чего-то очень элементарного, кажется.
Есть ли пример такой настройки?
Это мой Express.js, который уже обслуживает приложение React (не React Admin) из общей папки.
'use strict';
/* jshint camelcase:false */
require('dotenv').config();
if (process.env.NODE_ENV === undefined) {
throw new Error('No environment variable was set. For development use [export NODE_ENV=dev].');
}
let express = require('express');
var favicon = require('serve-favicon');
let path = require('path');
let cookieParser = require('cookie-parser');
let bodyParser = require('body-parser');
let expressValidator = require('express-validator');
let configuration = require('./app/Configuration');
let app = configuration.getApp();
let config = configuration.getParameters();
let errorHandler = require('./src/Error/Handler');
let session = require('client-sessions');
app.use(require('./src/Twig/ExtendWithCustomFunctions').extend());
app.use(session({
cookieName: 'session',
secret: 'xxxxxxx',
duration: 12 * 60 * 60 * 1000,
activeDuration: 2 * 60 * 60 * 1000
}));
app.use(bodyParser.json());
app.use(errorHandler.bodyParser);
app.use(expressValidator());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(favicon(__dirname + '/public/favicon.ico'));
configuration.setErrorHandler(errorHandler);
configuration.initializeControllers(__dirname);
configuration.initializeErrorHandling();
module.exports = app;