原文链接

React version 16.2 版本脚手架

包含客户端,服务端渲染完整示例,使用了最新的react,并实现version 16.2 最新的服务端渲染; 解决了一些之前的服务端渲染bug;并添加了调试的服务端渲染模式; 使用webpack 4.0 来编译

<!-- 分离的第三方依赖 -->
<script src="../dist/js/vendor.js"></script><!-- react -->
<script src="../dist/js/app.js"></script>
安装命令和一些常用的npm脚本;
  • yarn (安装脚手架依赖)
  • yarn preinstall (检查node版本,最低8.0以上版本)
  • yarn prestart (删除dist 编译打包文件)
  • yarn start (启动客户端的开发环境)
  • yarn build (打包编译客户端环境,并启动)
  • yarn prod (启动并打包服务端渲染)
  • yarn server (启动服务端渲染开发环境)
  • yarn lint (检查代码规范)
  • yarn lint:watch (检查代码规范并监听)
  • yarn test (启动单元测试)
  • yarn test:watch (启动单元测试并监听)
  • yarn remove-dist (删除dist文件夹)
  • yarn clean-dist (清空dist文件夹)
一些常见问题
  1. 部署到服务器上,需要nginx 反向代理启动node.js 的http 服务;
  2. 刷新之后 404 或者子路由报错;是使用了 BrowserRouter这个路由或者分割了代码。这个路由会开启h5 的history 模式;所以需要nginx的支持; nginx uri 定向到例如是打包文件是通过index.html 就重定向到index.html;如果是放在index.php就重定向到index.php就不会有这个问题了;
  3. 服务端渲染的样式需要放在入口内。不是服务端渲染的就不用;
  4. 这个脚手架是封装了axios 这个ajax库到redux中;所以不用在调用的地方引入axios;只需要在redux的action中使用我在redux中封装的axios 中间件的别名 例如: api.get api.post等就好了;action中也符合redux的方式;
  5. 需要注意的是不是服务端渲染的启动命令也是不同的; 服务端渲染主要是为了解决seo问题,因为是单页应用。必须用户点击打开index.html 或index.php 或者站点后才能加载打包后的js 文件开始渲染节点内容; 没有加载js 也就不能渲染出节点。也就不能被搜索引擎检索到; 这也就是服务端渲染的需要;另外服务端渲染也加快网页加载速度; 只要服务器压力能承受住;
  6. 为什么服务端渲染不分割代码。因为会报错;而且用了压缩代码会小很多;普通十多张页面不会超过1MB .1Mb对于服务端来说并没有什么..
更新日志(2018.03.07)
  1. 优化父子路由的写法。 父路由嵌套子路由
  2. 解决了服务端之前存在的报错问题。并加入服务端渲染调试模式,
  3. 优化redux路由数据在服务端渲染的时候不同步问题;
  4. 增加redux axios 中间件调用方法;以及调用获取数据例子
  5. 增加 使用react-router-redux 编程式导航的例子;通过代码跳转到页面返回上级页面;并保证redux的数据同步,不会延迟;
  6. webpack 升级到webpack version 4.1.0;
  7. 移除mocha 测试.使用更加简单的jest来处理测试
  8. 更新webpack-dev-middleware与 webpack-hot-middleware,
示例图片 || 已经解决了之前服务端端存在问题


"示例图片"

演示地址。不含服务端渲染;

演示

react-template 包含客户端,服务端渲染完整示例相关推荐

  1. 17 SSR:使用 React.js 开发 Serverless 服务端渲染应用

    今天我想和你聊一聊怎么用 Serverless 开发一个服务端渲染(SSR)应用. 对前端工程师来说,Serverless 最大的应用场景之一就是开发服务端渲染(SSR)应用.因为传统的服务端渲染应用 ...

  2. SwiftUI 开源项目 - ZYSwiftUIFrame 自带服务端的完整示例项目(更新中...)

    SwiftUI 开源项目 前言 主要特色 项目技术 项目预览 1. 不需要开启服务端 1.1 用户列表 2. 需要开启服务端 2.1 消息列表 2.2 会议列表 运行教程 运行 IOS 项目 运行服务 ...

  3. React SSR: 基于 express 自构建 SSR 服务端渲染

    React SSR: 基于 express 自构建 SSR 服务端渲染 文章目录 React SSR: 基于 express 自构建 SSR 服务端渲染 完整代码示例 前情提要 构建 CSR 项目 项 ...

  4. React 服务端渲染 umi服务端渲染

    react 服务端渲染原理不复杂,其中最核心的内容就是同构. node server 接收客户端请求,得到当前的req url path,然后在已有的路由表内查找到对应的组件,拿到需要请求的数据,将数 ...

  5. 我很懒,什么都没留下系列 之 教你上手React服务端渲染(React SSR) HMR

    技术栈:webpack3.9.1+webpack-dev-server2.9.5+React16.x + express4.x 前言 (好慌!可能是因为我很懒,导致...,然后,好吧,我比较懒,没有然 ...

  6. react ssr php,一文吃透 React SSR 服务端渲染和同构原理

    全网最完整的 React SSR 同构技术原理解析与实践,从零开始手把手带你打造自己的同构应用开发骨架,帮助大家彻底深入理解服务端渲染及底层实现原理,学完本课程,你也可以打造自己的同构框架. 写在前面 ...

  7. 实现SSR服务端渲染

    前言 前段时间寻思做个个人网站,然后就立马行动了. 个人网站如何实现选择什么技术方案,自己可以自由决定. 刚好之前有大致想过服务端渲染,加载速度快,还有 SEO 挺适合个人网站的. 所以就自己造了个轮 ...

  8. React SSR 服务端渲染实践指南

    年前因为工作原因需要对原有 React 项目进行服务端渲染的改造,下面是我对之前工作经验的一些总结分享,希望可以对大家有所帮助. 适用场景 首先我们来了解一下 SSR 可以做什么,可以解决什么问题,诞 ...

  9. React服务端渲染(SSR)入门及项目搭建

    代码已经关联到github: 链接地址 文章有更新也会优先在这,觉得不错可以顺手点个star,这里会持续分享自己的开发经验(: 前言 服务端渲染是什么?我们什么情况下需要使用它?想要了解这些,需要简单 ...

最新文章

  1. 朱晔的互联网架构实践心得S1E6:给飞机换引擎和安全意识十原则
  2. 重磅嘉宾公布,第四范式AI新品发布会进入报名倒计时
  3. android项目打包成apk
  4. 【POJ 1679 The Unique MST】最小生成树
  5. echarts柱状图的数据差距过大影响美观
  6. 华为S2600T------v1版本
  7. python flask request 参数映射_Flask request获取参数问题
  8. 用漫画让你彻底搞懂 Linux 内核到底长啥样!
  9. BZOJ 4216: Pig
  10. 如何用Python操作Excel自动化办公?一个案例教会你openpyxl——图表设计和透视表
  11. 使用Echarts.js自定义X轴Y轴刻度画网格
  12. 计算机常见的三种bios,各种类型电脑进入BIOS方法汇总,包含中英文对照图表!...
  13. 【lua编程 控制手机进行聊天】--用于养号、可以放下手进行自动化聊天养号了
  14. 几何分布及其期望计算
  15. 【实战技能】非技术背景经理的技术管理
  16. windows用运行命令启动程序
  17. dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
  18. 恒生电子实习记录-7
  19. 手机沙盒隔离软件_360隔离沙箱下载_360隔离沙箱独立版下载 v3.0.0 官方版_天天下载手机版...
  20. Lesson 10

热门文章

  1. kafka linux客户端,kafka linux 客户端操作命令
  2. python怎么启动服务器_如何通过cgi启动服务器端python程序?
  3. c# 微服务学习_关于使用“江西微就业”服务平台学习掌握就业创业帮扶政策的通知...
  4. linux安装tightvnc_tightvnc安装配置,在Linux系统中进行tightvnc安装配置
  5. categorical data and numerical data
  6. bgp通告四原则_BGP的十三条选路原则
  7. java comparator_Java 中如何指定集合元素的排序策略
  8. c语言建立队列(顺序队列、循化队列和链式队列)
  9. 达梦想oracle迁移,oracle存储过程迁移达梦心得
  10. 《系统集成项目管理工程师》必背100个知识点-97信息系统生命周期