同构应用能够实现的基础是虚拟DOM,基于虚拟DOM我们可以生成真实的DOM,并由浏览器渲染;也可以调用不同框架的API,将虚拟DOM生成字符串,由服务器端传输给客户端。
1.打包环境区分
同构应用实现了客户端代码和服务器端代码的基本统一,我们只需要编写一种组件,就能生成适用于服务器端和客户端的组件。大多数情况下还是需要单独处理的,差别决定了代码复用难易程度。
-
路由代码差别
服务器端需要根据请求路径匹配页面组件,客户端需要通过浏览器中的地址匹配页面组件。
const App = () => { return ( <Provider store={ store}> <BrowserRouter> <div> <Route path