相关疑难解决方法(0)

在Express中为客户端路由提供多个反应应用程序

我为单个服务提供了不同的软件产品,需要将其部署到单个服务器上.通过create-react-app进行构建设置,客户端构建为react,而服务器运行Node.js和Express.

当我从服务器提供单个应用程序时,它按以下方式完成:

// App.js
// ...
// Entry point for data routes (API)
app.use('/data', indexRoute);

if(process.env.NODE_ENV !== 'development') {
  app.use(express.static(path.join(__dirname, 'build-client')));

  app.get('/*', function(req, res) {
    return res.sendFile(path.resolve( __dirname, 'build-client' , 'index.html'));
  });
}
Run Code Online (Sandbox Code Playgroud)

我希望能够从服务器提供多个应用程序.我该怎么办?

我尝试的是为资产连接不同的静态路径,并使用不同的名称分隔客户端,尽管它不起作用.像这样:

// App.js
// ...
// Entry point for data routes (API)
app.use('/data', indexRoute);

if(process.env.NODE_ENV !== 'development') {
  app.use(express.static(path.join(__dirname, 'build-client')));
  app.use(express.static(path.join(__dirname, 'build-admin')));

  app.get('/client/*', function(req, res) {
    return res.sendFile(path.resolve( __dirname, 'build-client' , 'index.html'));
  });
  app.get('/admin/*', function(req, res) {
    return res.sendFile(path.resolve( __dirname, 'build-client' , 'index.html'));
  });
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过这种方式,但Express …

node.js express reactjs

9
推荐指数
2
解决办法
4426
查看次数

标签 统计

express ×1

node.js ×1

reactjs ×1