【问题标题】:ReactJS and NodeJS same server?ReactJS 和 NodeJS 同一个服务器?
【发布时间】:2017-12-07 15:51:10
【问题描述】:

我用 nodejs 构建了一个项目并做出反应。我不知道我是否必须拆分为 2 台服务器,一台用于 react 应用程序,一台用于 nodejs 中的 API,并且 react 应用程序在 nodejs 服务器上请求请求。

或者我必须将两者都分组在一个 nodejs 进程中?有什么不同 ?有更好的选择吗?

【问题讨论】:

  • React 不在乎你在后端使用什么。这只是一个视图
  • 不要在生产环境中运行 React 开发服务器!构建它,然后随心所欲地提供静态文件。
  • 这真的取决于你,我不认为有一个规范的方法,或者一个比另一个更好。
  • @Jaxx 单服务器通常用于其简单性,但在扩展应用程序时,您宁愿以与静态服务服务器不同的方式扩展应用程序后端进程。这就是为什么它总是最终分开。对于不需要扩展的应用程序,它仍然可以作为单个服务器正常工作。

标签: javascript node.js reactjs server


【解决方案1】:

当构建的只是静态文件时,由你决定 React,不要被开发服务器混淆。我建议您一开始将它们放在一个节点进程中。只需像这样声明静态文件的文件夹:

app.use('/app', express.static(path.join(__dirname + '/dist/app')));

另外,如果您使用 React Router,您应该将其添加为您的最后一个路由器

app.get('*', (req, res) => {
res.sendFile(path.join(__dirname + '/src/index.html'));
});

你可以使用 webpack here查看我的模板仓库

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 2018-04-25
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2017-01-07
    相关资源
    最近更新 更多