学习react也有一段时间了,使用react后首页渲染的速度与seo一直不理想。打算研究一下react神奇服务端渲染。

react服务端渲染只能使用nodejs做服务端语言实现前后端同构,在后台对react组件进行解析并生成html字符串后返回视图页面。
后台为什么可以解析react组件?因为Node.js是一个Javascript运行环境,nodejs与javascript语法基本是相同的,所以nodejs可以正常解析react组件。
一、准备动作
1、安装nodejs与安装express
安装nodejs教程:https://www./article/33086.htm
安装express教程:https://www./article/36710.htm
2、安装node-jsx(使nodejs支持jsx语法)
$ npm install node-jsx
3、安装ejs模板引擎
$ npm install ejs
4、选用ejs模板引擎解析html视图文件(配置express框架应用的app.js),需修改配置如下:
var ejs = require('ejs');
app.engine('.html',ejs.__express); //使用ejs模板引擎解析html视图文件
app.set('view engine', 'html');
二、具体实现如下:
express路由:
"use strict";
var express = require('express');
var router = express.Router(); require("node-jsx").install(); //安装"node-jsx",安装该模块可以使nodejs兼容jsx语法
var React=require("react");
var Com=require('../component/test.js').Component //引入react组件
router.get('/', function(req, res, next) {
var html=React.renderToString(Com({name:"dudeyouth"})) //向组件传参,并使用renderToString方法解析成html字符串
res.render("index",{component:html}); //渲染到界面
});
module.exports = router;
react组件:
"use strict";
var React=require("react");
var Component=React.Component;
class Test extends Component{
render(){
return <h1>{this.props.name}</h1>;
}
}
module.exports={"Component":function(props){
return <Test {...props}/>
}};
视图(使用了ejs模板引擎):
<html>
<head>
<title>DudeYouth博客</title>
<meta charset="utf-8" />
<link href="css/index.css" rel="external nofollow" rel="stylesheet"/>
<link href="css/style.css" rel="external nofollow" rel="stylesheet"/>
</head>
<body>
<div id="container"><%-component%></div> <!--使用ejs模板解析后的html字符串-->
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# react服务端渲染
# react同构渲染
# react服务端渲染代码
# React服务端渲染原理解析与实践
# 详解React服务端渲染从入门到精通
# 详解React 服务端渲染方案完美的解决方案
# 使用Node搭建reactSSR服务端渲染架构
# 详解React 在服务端渲染的实现
# React服务端渲染(总结)
# React服务端渲染和同构的实现
# 服务端
# 是一个
# 运行环境
# 也有
# 首页
# 不理想
# 大家多多
# 后端
# 使用了
# 博客
# npm
# install
# bash
# jsx
# node
# pre
# brush
# class
# set
# __express
相关文章:
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何规划企业建站流程的关键步骤?
如何配置支付宝与微信支付功能?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
营销式网站制作方案,销售哪个网站招聘效果最好?
建站主机选购指南与交易推荐:核心配置解析
导航网站建站方案与优化指南:一站式高效搭建技巧解析
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
中山网站推广排名,中山信息港登录入口?
如何在宝塔面板中创建新站点?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
视频网站制作教程,怎么样制作优酷网的小视频?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
存储型VPS适合搭建中小型网站吗?
如何选择高性价比服务器搭建个人网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
C++如何编写函数模板?(泛型编程入门)
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
如何用花生壳三步快速搭建专属网站?
寿县云建站:智能SEO优化与多行业模板快速上线指南
c# 在ASP.NET Core中管理和取消后台任务
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何解决VPS建站LNMP环境配置常见问题?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何在服务器上配置二级域名建站?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
常州企业网站制作公司,全国继续教育网怎么登录?
文字头像制作网站推荐软件,醒图能自动配文字吗?
微信小程序 input输入框控件详解及实例(多种示例)
购物网站制作公司有哪些,哪个购物网站比较好?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
高防服务器租用首荐平台,企业级优惠套餐快速部署
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
如何配置WinSCP新建站点的密钥验证步骤?
建站之星如何修改网站生成路径?
建站之星多图banner生成与模板自定义指南
PHP 500报错的快速解决方法
公司网站的制作公司,企业网站制作基本流程有哪些?
定制建站方案优化指南:企业官网开发与建站费用解析
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
如何通过西部数码建站助手快速创建专业网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
长沙做网站要多少钱,长沙国安网络怎么样?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
建站主机SSH密钥生成步骤及常见问题解答?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
*请认真填写需求信息,我们会在24小时内与您取得联系。