Nuxt.js服务器端渲染

简介: Nuxt.js服务器端渲染

1、搜索引擎优化

1.1、什么是SEO

**总结:**seo是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整和优化,以便搜索引擎 (百度,google等)更好抓取到优质网站的内容。

1.2、搜索引擎工作流程


常见的SEO方法比如:


对url链接的规范化,多用restful风格的url,多用静态资源url;

注意keywords、description、title的设置;

h1-h6、a标签的使用

等等

注意:spider对javascript支持不好,ajax获取的JSON数据无法被spider爬取


采用什么技术有利于SEO?要解答这个问题需要理解服务端渲染和客户端渲染。


2、服务端渲染和客户端渲染

2.1、什么是服务端渲染

服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容渲染,而不是在客户端完成页面内容的渲染。


SSR并不是前端特有的技术,我们学习过的JSP技术和Thymeleaf技术就是典型的SSR


20210204230342140.png


服务端渲染的特点:


在服务端生成html网页的dom元素

客户端(浏览器)只负责显示dom元素内容

2.2、什么是客户端渲染

客户端(浏览器) 使用AJAX向服务端发起http请 求,获取到了想要的数据,开始渲染html网页,生成dom元素,并最终将网页内容展示给用户。


2021020423050845.png


客户端渲染的特点:


在服务端只是给客户端响应的了数据,而不是html网页

客户端(浏览器)负责获取服务端的数据生成dom元素

2.3、两种方式各有什么优缺点?

客户端渲染:


缺点:不利于网站进行SEO,因为网站大量使用javascript技术,不利于搜索引擎抓取网页。


优点:客户端负责渲染,用户体验性好,服务端只提供数据不用关心用户界面的内容,有利于提高服务端的开发效率。


3)适用场景:对SEO没有要求的系统,比如后台管理类的系统,如电商后台管理,用户管理等。


服务端渲染:


优点:有利于SEO,网站通过href的url将搜索引擎直接引到服务端,服务端提供优质的网页内容给搜索引擎。


缺点:服务端完成一部分客户端的工作,通常完成一个需求需要修改客户端和服务端的代码,开发效率低,不利于系统的稳定性。


3)适用场景:对SEO有要求的系统,比如:门户首页、商品详情页面等。


3、Nuxt.js

3.1、Nuxt.js介绍

移动互联网的兴起促进了web前后端分离开发模式的发展,服务端只专注业务,前端只专注用户体验,比如流行的vue.js实现了功能强大的前端渲染。 但是,对于有SEO需求的网页如果使用前端渲染技术去开发就不利于SEO了,有没有一种即使用vue.js 的前端技术也实现服务端渲染的技术呢?


Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可以用来创建服务端渲染 (SSR) 应用,也可充当静态站点引擎生成静态站点应用,具有优雅的代码结构分层和热加载等特性。


官网网站:https://zh.nuxtjs.org/


3.2、Nuxt.js服务器端渲染

下图展示了从客户端请求到Nuxt.js进行服务端渲染的整体的工作流程:


20210204230523914.png


1)用户打开浏览器,输入网址请求到Node.js中的前端View组件


2)部署在Node.js的应用Nuxt.js接收浏览器请求,并请求服务端获取数据


3)Nuxt.js获取到数据后进行服务端渲染


4)Nuxt.js将html网页响应给浏览器


4、Nuxt.js环境初始化

4.1、解压

解压 guli_site


4.2、端口修改

项目默认3000端口启动,如果想要修改Nuxt.js的启动端口,则可以在package.json文件中添加如下配置

"config": {
  "nuxt": {
    "host": "127.0.0.1",
    "port": "3333"
  }
}

4.3、安装依赖

npm install
• 1

4.4、运行项目

npm run dev

5、页面布局结构

5.1、布局组件

页头和页尾提取出来,形成布局页


20210204235350201.png


5.2、布局文件

layouts目录下default.vue,引用布局组件


:主内容占位符

20210204235415543.png



5.3、首页面

pages/index.vue,默认使用layouts目录下default.vue布局文件


index.vue中的页面内容会被自动嵌入到模板文件的 的位置


让天下没有难学的技术


6、基础路由

Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。


下边是一个基础路由的例子: 假设 pages 的目录结构如下:

pages/ 
‐‐|index.vue
‐‐|teacher/ 
‐‐‐‐‐| index.vue 

那么,Nuxt.js 自动生成的路由配置如下:

router:{ 
    routes: [ 
        { 
            name: 'index', 
            path: '/',
            component: 'pages/index.vue' 
        },
        { 
            name: 'teacher', 
            path: '/teacher',
            component: 'pages/teacher/index.vue' 
        }
    ] 
}

7、动态路由

动态路由的页面需要加下划线前缀,例如: _id.vue

pages/ 
‐‐|teacher/ 
-----| _id.vue

_id.vue页面实现了向页面传入id参数,Nuxt.js 自动生成的路由配置如下:

router:{ 
    routes: [ 
        { 
            name: 'teacher‐id', 
            path: '/teacher/:id', 
            component: 'pages/teacher/_id.vue'
        } 
    ] 
}
目录
相关文章
|
2月前
|
数据采集 Web App开发 JavaScript
Python爬虫如何获取JavaScript动态渲染后的网页内容?
Python爬虫如何获取JavaScript动态渲染后的网页内容?
|
4月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
4月前
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
114 17
|
8月前
|
JavaScript
使用Node.js创建一个简单的Web服务器
使用Node.js创建一个简单的Web服务器
|
6月前
|
敏捷开发 人工智能 JavaScript
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
Figma-Low-Code 是一个开源项目,能够直接将 Figma 设计转换为 Vue.js 应用程序,减少设计师与开发者之间的交接时间,支持低代码渲染和数据绑定。
355 3
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
|
7月前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
130 8
|
8月前
|
数据采集 前端开发 搜索推荐
|
8月前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
433 1
|
Web App开发 JavaScript .NET
怎样用JS获取ASP.NET服务器控件的客户端ID
虽然简单,不过曾经困扰多时,还是记录一下吧。   来源:http://mou518.blog.163.com/blog/static/1756052222010111434428828/   因为经常服务器控件在运行编译后ID是变化了的,如 运行编译后的结果可能是   如果直接用document .
802 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
210 2

热门文章

最新文章