将ReactJS与NodeJS一起使用

时间:2017-12-03 08:12:59

标签: node.js reactjs

我有一个应用程序需要与UI交互并对后端的数据库执行各种CURD操作,

目前我有一个角度为1.2的应用程序,它有UI和另一个节点应用程序,并且每个角度应用程序都会向节点应用程序发送http请求以进行所需的每次交互,所以这里有两个不同的服务。

我想将这些操作组合成单一服务意味着UI(React)和节点在一个单一服务中,就像在节点内部做出反应一样,当我启动节点服务器时我也应该能够通过UI访问,我正在使用快递在节点中,在单个服务中将ReactJS与Node一起使用的最佳方法是什么。

2 个答案:

答案 0 :(得分:2)

希望您使用express和nodejs。您可以将react应用程序文件夹放在名为client的某个文件夹中的节点应用程序文件夹中。然后从节点应用程序,您可以执行以下服务器反应文件:

var app = express();
app.use(express.static(path.join(__dirname, 'client')));

在为api提供服务的所有特定于应用程序的路由之后,请提供以下内容以便为所有其他获取请求提供index.html。

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

答案 1 :(得分:0)

为了从react应用程序执行http请求(如果你的后端是节点则无关紧要),我建议使用fetch api

fetch(url)
  .then(response => response.json())
  .then(response => /* Do what you need with it */)

Axios也很有效,并提供相同的结果:

axios.get(url)
  .then(response => response => /* Do what you need with it */)
  .catch(error => console.log(error))