一、前后端完全分离

1、用React.js做MVC中的V,剩下的交给Laravel

2、Laravel用来做API接口开发。

3、好处:实现了前后端开发的分离,从而加快前后端开发效率。另外若是多端的如web+android+IOS则更有必要,这样三端共用一个后端,加快开发效率。

4、仔细想下: 用 React.js 搭建前端视图,然后用ajax或者fetch(axios)来和 Laravel 通信。Laravel 写的接口代码几乎都在Controller里面。


二、分离后SPA应用常需要服务端渲染,也就是SSR

1、将前端业务放到前端node服务器上

2、React.js使用Next框架来做服务端渲染


三、不要 React.js 和 Laravel 的blade混写

1、建议不要React.js和 Laravel 的 blade 混写,要么要么完全分离,要么就完全用 blade 不然项目大一点痛苦就来了。


四、不要想用 Laravel 来服务端渲染React.js 应用

1、有的朋友可能会有想用php服务端渲染SPA应用的想法

2、确实可以做到用php来服务端渲染前端的SPA应用

3、但是不要想在生产环境搞这种骚操作,因为效率贼低。


五、SPA应用的两个痛点

1、SEO问题。

2、首屏渲染略慢。


六、换个角度思考解决SPA应用的两个痛点

1、SEO问题,一般的 SPA应用 渲染出来只有一个根节点,以及几个 script 和 link 标签,这样的html结构爬虫自然啥都爬不到,在搜索引擎的权重也会下降,那么除了服务端渲染之外,还有别的方法让爬虫可以拿到有意义的 html文档 吗? 很显然,肯定有,那就是后端来判断请求是否由爬虫发出,如果是,那么返回该URL 对应的具有语义的 html文档 即可,并且无需书写样式,如果不是爬虫,那么认为是普通的用户所请求,返回 SPA 页面即可。

2、首屏渲染慢,很遗憾,这个问题目前没有彻底的解决方案,我们能做的就是尽量快?那么如何让SPA应用的首屏渲染尽量快呢?我觉得有以下几种方法可以优化SPA首屏渲染速度:

  1. CDN。把类似 js、css、image... 等这些静态文件都放在 CDN 服务器上,可以显著提高访问提高访问速度。
  2. 懒加载。除了 js 和 css 之外的所有静态文件都可以懒加载, 特别是图片,效果显著。
  3. 组件懒加载。这个其实效果并不是特别明显,但也是一种办法。原理是让当前页面的组件参加首屏渲染,不是当前页面的组件则不加载。
  4. 尽量写可重用的代码。这一点我相信是个程序员都懂这个道理。
  5. 后端响应要快。拿 php 的 laravel 框架来说事,laravel 快了,首屏渲染才能更快。常见加速laravel 的方法有 php artisan optimize 、 php artisan config:cache 、php artisan route:cache,如果这些都不够,那么就可以考虑上 swoole 了,常驻内存速度会快许多。

react+laravel与服务端渲染的几点思考的更多相关文章

  1. 详解react/redux的服务端渲染:页面性能与SEO

        亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染)   react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载 ...

  2. 【redux】详解react/redux的服务端渲染:页面性能与SEO

        亟待解决的疑问 为什么服务端渲染首屏渲染快?(对比客户端首屏渲染)   react客户端渲染的一大痛点就是首屏渲染速度慢问题,因为react是一个单页面应用,大多数的资源需要在首次渲染前就加载 ...

  3. React(0.13) 服务端渲染的两个函数

    1.React.renderToString 函数,  参数是组件,返回一个字符串 <!DOCTYPE html> <html> <head> <title& ...

  4. (十分钟视频教程)nodejs基础实战教程3:react服务端渲染入门篇

    视频截图如下: (具体视频见文末) 前言: 这是小猫的第三篇node教程,本篇内容是由公众号粉丝票选得出的,相信大家对这篇教程是抱有较大希望的,这篇教程由小猫和一位多年的好朋友合作完成(笔名:谷雨,博 ...

  5. 教你如何在React及Redux项目中进行服务端渲染

    服务端渲染(SSR: Server Side Rendering)在React项目中有着广泛的应用场景 基于React虚拟DOM的特性,在浏览器端和服务端我们可以实现同构(可以使用同一份代码来实现多端 ...

  6. react基础学习和react服务端渲染框架next.js踩坑

    说明 React作为Facebook 内部开发 Instagram 的项目中,是一个用来构建用户界面的优秀 JS 库,于 2013 年 5 月开源.作为前端的三大框架之一,React的应用可以说是非常 ...

  7. react+redux教程(六)redux服务端渲染流程

    今天,我们要讲解的是react+redux服务端渲染.个人认为,react击败angular的真正“杀手锏”就是服务端渲染.我们为什么要实现服务端渲染,主要是为了SEO. 例子 例子仍然是官方的计数器 ...

  8. React服务端渲染总结

    欢迎吐槽 : ) 本demo地址( 前端库React+mobx+ReactRouter ):https://github.com/Penggggg/react-ssr.本文为笔者自学总结,有错误的地方 ...

  9. react服务端渲染(同构)

    学习react也有一段时间了,使用react后首页渲染的速度与seo一直不理想.打算研究一下react神奇服务端渲染. react服务端渲染只能使用nodejs做服务端语言实现前后端同构,在后台对re ...

随机推荐

  1. Linux基础篇之FTP服务器搭建(二)

    上一篇文章说到了搭建FTP匿名用户的访问,接下来讲解一下本地用户的登录. 一.首先先建立一个用户,这里举例:xiaoming,并为其设置密码.  二.修改配置文件. 文件:ftpusers 文件:us ...

  2. jedis五种数据类型的方法解释

    常用命令 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同步保存到磁盘 ...

  3. 4.caffe资源汇总(更新中)

    学习需要更新,网上有一些非常不错博客. 感谢这些博主,他们都很认真. 00.tornadomeet 0.denny的学习专栏 1.xizero00 2.lingerlanlan 3.iamzhangz ...

  4. 用JavaScript更新CSS变量

    HTML <div class="mover"></div> CSS .mover { width: 50px; height: 50px; backgro ...

  5. Java 扫描微信公众号二维码,关注并自动登录网站

    https://blog.csdn.net/qq_42851002/article/details/81327770 场景:用户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: ...

  6. [NOI2008]假面舞会——数论+dfs找环

    原题戳这里 思路 分三种情况讨论: 1.有环 那显然是对于环长取个\(gcd\) 2.有类环 也就是这种情况 1→2→3→4→5→6→7,1→8→9→7 假设第一条链的长度为\(l_1\),第二条为\ ...

  7. 巧用 Img / JavaScript 采集页面数据

    摘要: 当我们有一个新内容时(例如新功能.新活动.新游戏.新文章),作为运营人员总是迫不及待地希望能尽快传达到用户,因为这是获取用户的第一步.也是最重要的一步. 点此查看原文:http://click ...

  8. indexedDB 前端数据库(使用的简单案例)

    前端存储 之 indexDB 1.indexedDB是什么? indexedDB是一个非关系型数据库 它不需要我们去写一些特定的SQL语句来对数据库进行操作 它是NoSQL的,数据形式使用的json ...

  9. pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签

    初步熟悉 安装 pip install pypdf2 合并并添加书签 #!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # @Time : 2019/1 ...

  10. H5页面测试总结

    前言 在最近几个项目中,小编接触了较多关于H5页面的测试,H5页面的测试除了业务逻辑功能测试外,其他部分的测试方法基本是可以通用的,在此对H5页面的一些通用测试方法进行总结分享给大家. H5页面介绍 ...