关于react+Node开发的一个问题。

#1

大家好。前端新手一枚。最近学习了Node,想结合之前的React开发一个网站,想问两个关于前后端分离的问题:
1)React+node开发如何做到前后端分离呢?
我的理解是Node只提供API,然后React这边用fetch或者ajax与api进行数据交互。那部署的时候是两个项目吗,因为这样理解的话,其实这两块东西没有代码上的交集,是这样的吗?谢谢

2)React适合做类似ejs或者jade那样Node后端渲染模版吗?如果只是做渲染渲染模版的话,整个前后端联合开发会有什么不妥呢?

先谢过大家!

#2

React只是个前端的library,你必须要有后端让你的网站跑起来,不太明白部署的时候是两个项目的意思?
你有三种方法来写:

  1. 用React写SPA,路由交给React-router完成,读写数据全用AJAX。Node负责提供响应AJAX的API,并提供一个root的路由来作为整个网站的入口
  2. 拿React写全部的前端,但不负责路由。同样,数据的读写全用AJAX。Node负责提供API,以及每个单个页面的路由,每一个单个页面都在WEBPACK里加入一个React的入口。
  3. 只拿React写特定的一个有大量交互的小区块,其他的地方仍然拿传统的方法来写,哪个区块是React写的就在WEBPACK里加入相应的入口

React全家桶一般是指第一种方法,我自己喜欢第二种方法,你网站基本上没什么交互的话就第三种

#3

1.是两个项目,但可以放在一起部署
2.用了react就与模板引擎毫无关系了