我有一个使用Express和React的服务器/网站。我想使用app.use(express.static())
来服务网站。除了干扰单个服务器处理的URL /parse-dashboard
(用作单独的中间件)之外,这是我想要的工作方式。
const path = require( 'path' )
var express = require('express');
var bodyParser = require('body-parser');
var basicAuth = require('express-basic-auth');
var ParseServer = require('parse-server').ParseServer;
var ParseDashboard = require('parse-dashboard');
var url = require('url');
var app = express();
var config = require( path.join( __dirname, 'config' ) )
app.use('/parse-dashboard', ParseDashboard(config.dashboard, true));
// Middleware for reading request body
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, './client/build')));
app.set( 'port', process.env.PORT || 3000 )
const server = require( 'http' ).createServer( app )
server.listen( app.get( 'port' ), () => {
console.log('express server listening on port ' + ( process.env.PORT || server.address().port ));
});
当我转到/parse-dashboard
时,React应用程序(正在使用react-router-dom
)使用该URL并显示空白路由。我该如何由服务器显示此路由?
答案 0 :(得分:0)
我弄清楚了,男孩,我感觉很蠢。在我的server(Express)文件夹中包含的React app文件夹中,我有一个package.json
文件来声明React依赖项。 package.json
文件中仍然包含proxy
键,一些指南已经提到使用该键,以便在本地工作时获得对自己服务器的api调用。删除该键后,所有功能均按预期工作,/parse-dashboard
由express处理,其余由react-router-dom