CSR/SSG/SSR

news/2024/5/2 5:36:26/文章来源:https://blog.csdn.net/Love_a_Peace/article/details/128974440
CSR-客户端渲染

1.client side render: 客户端渲染
SPA :single page app
优点:页面只需要加载一次,首屏渲染快
缺点:不利于seo,(初次加载只渲染了个空页面)
2.seo的爬取原理:
a.通过自动化爬取工具爬取页面
b.建立索引:通过页面中的title a img h1-h6去筛选页面,不满足的从临时库中删掉,其他的进入索引中
c.呈现搜索结果
3.给网页做seo优化:
a.使用语义化的标签
b.加title标签 meta标签的keyword description
c.img alt属性,a标签正确的链接地址,b标签的使用
d.项目根目录下添加robots.txt(网上自动生成这个文件), 规定爬虫可访问您网站上的哪些网址
e.项目根目录下添加sitemap.xml站点地图:在站点地图上列出所有网页,确保爬虫不会落掉某些网页

SSG-静态站点生成

ssg: static site generate,是预先生成好的静态网站。
构建ssg应用常见的库和框架: vue nuxt、react next.js
优点:访问速度快,直接给浏览器返回静态的html,也有利于seo
缺点:页面是静态的,不利于展示实时性的内容,实时性的更适合ssr。如果站点更新了,那必须得重新再次构建和部署

SSR-服务端渲染

在服务端渲染页面,并将渲染好的HTML返回给浏览器呈现,客户端请求js资源实现水合,页面可以实时交互,也叫同构应用
步骤:
用户打开浏览器访问服务器,服务器生成一个html返回给浏览器,浏览器渲染静态页面,但是目前是没有交互的,发现页面有一些js资源,去请求,请求来之后就可以激活应用程序,才变成可交互的页面
优点: 更快的首屏渲染速度,更好的seo
缺点:增加了一定的开发成本,消耗更多的服务器资源

Node Server的实现
// 初始化项目
npm install webpack webpack-cli nodemon express webpack-node-externals
// src/index.js
const express = requie('express')
const app = express()
app.get('/', (req, res) => {res.send('hello world~')
})
app.listen(3000, () => {console.log('3000端口启动成功!')
})
// package.json配置启动,验证上面是否启动成功
"scripts": {"dev": "nodemon ./src/index.js" // 实时监听这个文件的变化
}// config/webpack.config.js 打包后端服务
const path = require('path')
const webpackNodeExternals = require('webpack-node-externals')
module.exports = {target: 'node', // 默认是web-浏览器环境 作用是解析遇到node的内置模块(path, fs)就不会被打包进去mode: 'production',entry: './src/index.js'output: {filename: 'server_bundle.js',path: path.resolve(__dirname, '../build/server')}externals: [webpackNodeExternals()] // 不需要打包进bundle.js的库
}// 使用webpack打包试试
// 配置一下打包脚本 package.json
"script": {..."build:server": "webpack --config ./config/webpack.config.js ./src/index.js --watch", // --watch是webpack的脚本命令"start": "nodemon ./build/server.js" // node 没有--watch, 所以用了nodemon
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74614.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣-换座位

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:626. 换座位二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 …

redis(11)事务秒杀案例

秒杀案例描述 现在有1个秒杀的功能,1个原来价值5000元的手机现在搞活动,降价到1块钱,做秒杀活动。库存就10个,假设有10000人抢购。 目前逻辑是:抢到了商品库存就减1,然后把用户id加入到秒杀成功者清单中 Re…

【华为OD机试模拟题】用 C++ 实现 - 统计匹配的二元组个数(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明统计匹配的二元组个数题目输入输出描述示例一输入输出说明示例二输入输出说明备注Code使用说明 参加华为od机试,一定要注意不要完全背诵代码&

【华为OD机试模拟题】用 C++ 实现 - 卡片组成的最大数字(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明卡片组成的最大数字题目输入输出描述示例一输入输出示例二输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高…

高压放大器在声波谐振电小天线收发测试系统中的应用

实验名称:高压放大器在声波谐振电小天线收发测试系统中的应用研究方向:信号传输测试目的:声波谐振电小天线颠覆了传统电小天线以电磁波谐振作为理论基础的天线发射和接收模式,它借助声波谐振实现电磁信号的辐射或接收。因为同频的…

CPRI和10GBASE-KR的关系

目录 10GBASE-KR 10GBASE-KR的分层结构 10GBASE-KR 电气特性 发送器特性 接收器特性 CPRI CPRI与10GBASE-KR的差异 基于对CPRI协议和10GBASE-KR规范的分析完成本文,尝试解答CPRI和10GBASE-KR的关系问题,尝试给出如下结论: 当CPRI支持背…

使用xca工具生成自签证书

本文使用 xca 生成自签证书。 概述 之前使用 openssl 生成证书,在 golang 中测试,发现客户端连接失败,经查发现是Subject Alternative Name不支持导致的。因虚拟机 openssl 版本较低,有个功能无法实现,且升级麻烦&…

Matlab论文插图绘制模板第79期—无线条等高线填充图

资源群里有朋友问如何绘制等高线填充图,但删除线条,只保留填充颜色的那种。 那么,本期就来分享一下无线条等高线填充图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大…

Linux基础命令-stat显示文件的状态信息

文章目录 stat 命令介绍 语法格式 基本参数 测试三个时间的变化过程 1)使用cat命令 2)使用echo命令 3)使用chmod命令 4)使用vim命令 参考实例 1)显示文件的状态信息 2)以简洁的形式显示状态信…

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取

【论文速递】COLING 2022 - 带有事件论元相关性的事件因果关系抽取 【论文原文】:Event Causality Extraction with Event Argument Correlations 【作者信息】:Cui, Shiyao and Sheng, Jiawei and Cong, Xin and Li, Quangang and Liu, Tingwen and S…

Delphi 中 FireDAC 数据库连接(总览)

本系列包含一组文章,描述了如何用在Delphi中使用FireDAC设置数据库驱动和管理数据库连接。通过这一些列文章的学习,将熟练掌握FireDAC数据库连接管理应用。自由使用FireDAC!主题说明定义连接描述了如何存储和使用FireDAC连接参数以及连接定义…

ROS进行深度相机的标定

前言 自己使用标定板对深度相机进行标定。 参考:http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration 一、准备标定板 在下面的网站中可下载棋盘格标定板,可用A4纸打印下来。 http://wiki.ros.org/camera_calibration/Tutorials/…

【华为OD机试模拟题】用 C++ 实现 - 单词倒序(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1) 文章目录 最近更新的博客使用说明单词倒序 【华为OD机试模拟题】题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿…

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

SVG实例详解系列(一) (svg概述、位图和矢量图区别(图解)、SVG应用实例) 目录 一、什么是SVG? (1)、位图和矢量图概念(图解) (2)、SVG的小例子…

为什么我会选择 AI-TestOps 让测试更智能

catalogue写在前面背景纵观AI-TestOps云平台进入平台自动化测试主流程AI视频流程图写在前面 如今在IT行业中的测试岗位尤为重要,可谓是生产环境的最后一道防线,我们的愿景都是测试点头后绝无BUG,可见测试工程师在项目中的重要程度&#xff0…

正态分布、Q函数、误差函数erf()和互补误差函数erfc()

1、正态分布(高斯分布) 若随机变量 X服从一个位置参数为 μ、尺度参数为 σ 的概率分布,且其概率密度函数为 则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作 X∼N(μ,σ2) 。 当μ0,σ…

QML Item

在QML中所有的可视项目都继承自Item,虽然Item本身没有可视化的外观,但它定义了可视化项目的所有属性。 Item可以作为容器使用: Item{Rectangle{id:retc}Rectangle{id:retc1}Rectangle{id:retc2}Rectangle{id:retc3}} item拥有children属性…

【C语言每日一题】杨氏矩阵(源码以及改进源码)

【C语言每日一题】—— 杨氏矩阵😎😎😎 目录 💡前言🌞: 💛杨氏矩阵题目💛 💪 解题思路的分享💪 😊题目源码的分享😊 &#x1f4…

SSM知识快速复习

SSM知识快速复习SpringIOCDIIOC容器在Spring中的实现常用注解Autowired注解的原理AOP相关术语作用动态代理实现原理事务Transactional事务属性:只读事务属性:超时事务属性:回滚策略事务属性:事务隔离级别事务属性:事务…

Windows下载安装Prometheus

目录 资料 下载 解压 点击prometheus.exe运行 资料 Prometheus是一个开源的系统监控和报警系统,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。 官网:https://pr…