Code Monkey home page Code Monkey logo

ssrproject's Introduction

ssr项目实战

ssr是什么

ssr(server-side-render) 简称服务端渲染,要理解服务端渲染,首先要了解一下同构

简单来讲,当用户在浏览器输入网址请求页面的时候,服务端会返回html结构,然后前端复用html结构,并且添加各种js事件,这种前后端共用同一个页面结构的**就可以称为同构。

以前的服务端渲染,都是通过前端写好模板,然后后端把数据及展示逻辑填充进去,现在项目大都是SPA,当请求页面的时候,服务端都是直接返回一个静态html文件,由js动态生成页面,需要一定的等待时间,而服务端渲染可以帮我们解决这样一个问题,第一次请求页面的时候由服务端返回页面的结构+数据+样式,而js负责生成各种事件响应,后续的页面跳转、渲染则可以直接通过js来完成。

首次请求状态同步

第一次请求的时候,后端需要返回页面结构+数据,前端要复用后端的结构的话,也需要拿到对应的数据,为了避免二次请求,我们可以在后端查询之后直接塞到全局变量里,以便前端可以直接使用。这里我们使用了react-router v6的loader方法,当请求同一个路径时,让前后端共用数据。

ssr实现不同页面seo定制化

hmr

hmr是通过自定义服务来实现,当更新组件时,前后端同时编译,然后刷新页面完成hmr。

注意事项

组件编写的时候需要兼容浏览器和服务端,因为服务端是没有window,navigator等全局变量的,所以要区分下是否在浏览器

ssrproject's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.