Javascript ReactJS和NodeJS是同一台服务器吗?

Javascript ReactJS和NodeJS是同一台服务器吗?,javascript,node.js,reactjs,server,Javascript,Node.js,Reactjs,Server,我用nodejs构建了一个项目,并做出了反应。我不知道我是否必须分成两个服务器,一个用于react应用程序,一个用于nodejs中的API,以及nodejs服务器上的react应用程序请求 或者我必须只在一个nodejs进程中对两者进行分组?有什么区别?有更好的选择吗 当构建的只是静态文件时,这取决于您的反应,不要被开发服务器弄糊涂。我建议您从一开始就将它们放在一个节点进程中。只需声明静态文件的文件夹,如下所示: app.use('/app', express.static(path.join(

我用nodejs构建了一个项目,并做出了反应。我不知道我是否必须分成两个服务器,一个用于react应用程序,一个用于nodejs中的API,以及nodejs服务器上的react应用程序请求


或者我必须只在一个nodejs进程中对两者进行分组?有什么区别?有更好的选择吗

当构建的只是静态文件时,这取决于您的反应,不要被开发服务器弄糊涂。我建议您从一开始就将它们放在一个节点进程中。只需声明静态文件的文件夹,如下所示:

app.use('/app', express.static(path.join(__dirname + '/dist/app')));
此外,如果您正在使用React路由器,则应将其添加为您的最后一个路由器

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

您可以使用webpack检查我的模板repo

当构建的只是静态文件时,您可以做出反应,不要被开发服务器搞糊涂。我建议您从一开始就将它们放在一个节点进程中。只需声明静态文件的文件夹,如下所示:

app.use('/app', express.static(path.join(__dirname + '/dist/app')));
此外,如果您正在使用React路由器,则应将其添加为您的最后一个路由器

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

您可以使用webpack检查我的模板回购

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