首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Vue SEO的四种方案

前言:众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,下面列出几种最近研究和使用过的SEO方案,SSR和静态化基于Nuxt.js来说。...使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle hook) 中使用;一些外部扩展库 (external library) 可能需要特殊处理,才能在服务器渲染应用程序中运行...} = require('wowjs'); require('wowjs/css/libs/animate.css'); } 2.Nuxt asyncData方法,初始化页面前先得到数据,...中获取参数: 1.获取动态路由参数,如: /list/:id' ==> '/list/123 接收: async asyncData ({ app, query }) { console.log...2.静态化 静态化是Nuxt.js打包的另一种方式,算是 Nuxt.js 的一个创新点,页面加载速度很快。 在 Nuxt.js 执行 generate 静态化打包时,动态路由会被忽略。

6.3K22
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Nuxt.js实战:Vue.js的服务器端渲染框架

    }; }, asyncData() { // 这里可以在服务器端获取数据 // 返回的数据会作为data的默认值 return { message: 'Data fetched on...路由解析:Nuxt.js 使用 nuxt.config.js 中的 routes 配置(如果存在)或自动从 pages/ 目录生成路由。...这些方法会在服务器端运行,用于从API或其他数据源获取数据。数据获取后,会被序列化并注入到页面模板中。模板渲染:Nuxt.js 使用 Vue.js 的渲染引擎将组件和预取的数据转换为HTML字符串。...HTML字符串中包含了客户端需要的所有初始数据,以JSON格式内联在标签中。返回HTML:服务器将生成的HTML响应发送回客户端(浏览器)。...(Vue实例)route(当前路由信息)store(Vuex Store,如果已启用)payload(如果有asyncData返回的数据)中间件可以顺序执行,每个中间件可以决定是否继续执行链中的下一个中间件

    27400

    Vue SEO的四种方案

    1.Nuxt 服务端渲染应用部署 (SSR服务器渲染) 关于服务器渲染:Vue官网介绍 ,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。...使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle hook) 中使用;一些外部扩展库 (external library) 可能需要特殊处理,才能在服务器渲染应用程序中运行.../css/libs/animate.css'); } 2.Nuxt asyncData方法,初始化页面前先得到数据,但仅限于 页面组件 调用: // 并发加载多个接口: async asyncData...-| pages/ ---| index.vue ---| users/ -----| _id.vue 需要动态路由先生成静态页面,你需要指定动态路由参数的值,并配置到 routes 数组中去。...,返回给爬虫。

    3.9K30

    nuxt的基本使用和一些需要知道的小坑

    简介 用vue开发的人基本都知道,vue对seo很不友好,爬虫爬不到网站中的文章内容,只能够收录网站首页,为了有效解决这个问题,有四种方法:1.SSR服务器渲染;2.静态化;3.预渲染prerender-spa-plugin...本文介绍的是SSR服务器渲染。 1....安装步骤 npx create-nuxt-app 根据提示选择安装内容即可 nuxt模式默认选择universal npm run dev 启动项目 2....目录结构 assets —资源目录 layouts —布局目录 middleware —中间件目录 plugins —插件目录 static —静态(后台) 3.异步数据 SSR解析 页面数据 asyncData...先请求 扔个模板结构(静态渲染) asyncData(请求拿数据) 把编译的结果扔给客户端 服务器下发一个script 挂载到window下 同步到浏览器(交互) 虚拟编译和服务器扔过来的作对比, 不同重新请求

    99230

    探讨一下 To C 营销页面服务端渲染的必要性及其原理

    2Vue SSR 原理 聊了这么多可能你对于服务端渲染的原理还不是很清楚,下面我就以Vue服务端渲染为例来简述一下其原理: 这张图来自Vue SSR 指南[2] 原理解析参考如何搭建一个高可用的服务端渲染工程...Node端将render好的html字符串返回给Browser,同时Node端根据vue-ssr-client-manifest.json生成的js会和html字符串hydrate,完成客户端激活html...基于上面分析的原理,我从零一步步搭建了一个最小化的vue-ssr[4],大家有需要的可直接拿去用~ 这里我贴几点需要注意的: 使用 SSR 不存在单例模式 我们知道Node.js 服务器是一个长期运行的进程...nuxt中有一个钩子叫asyncData,我们可以在这个钩子发起一些请求,而且这些请求是在服务端发出的。...那我们来看下如何实现 asyncData 吧,在 server-entry.js 中我们通过 const matchs = router.getMatchedComponents()获取到匹配当前路由的所有组件

    1.3K10

    点亮你的Vue技术栈,万字Nuxt.js实践笔记来了

    Universal 使用集成的 Axios 使用 EsLint context context 是从 Nuxt 额外提供的对象,在"asyncData"、"plugins"、"middlewares"...看下图,在谷歌调试工具中,看不到主要数据接口发起请求,只有返回的 html 文档,证明数据在服务端被渲染。...} SSR使用Axios 服务器端获取并渲染数据, asyncData 方法可以在渲染组件之前异步获取数据,并把获取的数据返回给当前组件。...Promise.all 接受一个 Promise 数组作为参数,当全部 Promise 成功时会返回一个结果数组。最终的耗时会以最久的 Promise 为准,所以说原本3秒的耗时可以降低到1秒。...当 type 为 enum(枚举)类型时,参数值只能为 enum 数组中的某一项。 需要注意的是,number 类型在这里是无法验证的,因为参数在传输过程中会被转变为字符串类型。

    24K31

    Nuxt框架服务端渲染

    在开始今天的文章内容前,我们首先先要了解一下什么是Nuxt.js? Nuxt.js是通用的VUE的一个SSR框架(服务器端渲染)。...官方介绍是通过对客户端/服务端基础框架的抽象组织,Nuxt.js主要关注的应用的UI渲染。 那什么是SSR呢? SSR是在服务器端把vue文件直接渲染成html返回给浏览器。...SSR对SEO的支持非常好,以前用vue做的SPA(单页应用)对搜索引擎是不友好的,搜索引擎不好抓取单页应用;相对比SPA加载速度快,SSR是直接将html字符串传给浏览器。...可以在这个生命周期中进行用户是否登录判断;可全局nuxt.config.js进行配置、可在页面组件中配置(layout)、也可在布局组件中配置(page&children) // nuxt.config.js...validate ({params,query}){ console.log('validate') return true } } asyncData

    4K20

    用 Nuxt.js 搭建一个服务端渲染(SSR)应用

    js和css等) 服务端渲染(SSR)的含义 服务端渲染: 当用户第一次请求页面时,由服务器把需要的组件或页面渲染成 HTML 字符串,然后把它返回给客户端。...创建一个 SSR 项目 为了快速入门,Nuxt.js团队创建了脚手架工具 create-nuxt-app。...Nuxt.js 入门 我们用 Nuxt.js 来搭一个常用的网页框架,包括公共头部、底部、动态路由、嵌套路由,错误页面,以及在 Nuxt.js 框架下如何引用公共样式、公共方法、路由校验等。...如果校验方法返回的值不为 true 或 Promise 中 resolve 解析为 false 或抛出 Error , Nuxt.js 将自动加载显示 404 错误页面或 500 错误页面。...全局 css 在 Nuxt 中添加全局 css 也是非常简单的。我们在 assets 下新建一个 css 文件 base.css 。然后在 nuxt.config.js 中引用即可。

    7.7K20

    Vue开始使用NUXT框架开发

    生命周期流程图 红框内的是Nuxt的生命周期(运行在服务端) 黄框内同时运行在服务端&&客户端上 绿框内则运行在客户端 Vue的生命周期全都跑在客户端(浏览器),而Nuxt的生命周期有些在服务端...对于JS来说,需要构建编译的放在assets目录中 不需要的放在static中 视图(Document/Layout/Page) 与视图有关的有模版(Document),布局(Layout),页面(Page.../validate) fetch、asyncData、validate使用范围 只能在页面组件使用,也就是pages目录下的组件,而不是components和layout目录下的组件,要有所区分 asyncData...多请求 由于asyncData方法是在组件 初始化 前被调用的,所以在方法内是没有办法通过 this 来引用组件的实例对象。...Nuxt.js框架中asyncData方法只能在pages中的.vue文件页面中使用。

    2.3K20

    【Nuxtjs】431- 简述Nuxt.js

    作者 | 孔令涛 Nuxt.js 是一个基于 Vue.js 的通用应用框架,一个用于Vue.js 开发SSR应用的一站式解决方案。...,把渲染好的页面返回给用户。...下面是实现,先来说说接口缓存:1.如何接口获取的数据存入redis 在nuxt.config.js中,我们在modules配置中加入@nuxtjs/axios,这是nuxtjs自带的,然后编写一个叫axios.server.js...的文件,加入plugins配置中,这里的重点是文件命中一定要加server的标示,这样nuxt在加载这个插件的时候只会把它加载到服务端去。...注意点:这个一定要加上服务端的判断,虽然打包的时候asyncData里的代码不会被打包到客户端,但是在打包和开发的时候不加上服务端的判断,会报一些无法引包的错误。

    2.8K10

    尚医通-客户端平台

    服务器端渲染(SSR)的优势主要在于:更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。...也就是说,如果 SEO 对你的站点至关重要,而你的页面又是异步获取内容,则你可能需要服务器端渲染(SSR)解决此问题。...)与转化率直接相关的应用程序而言,服务器端渲染(SSR)至关重要。...# 什么是NUXT Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用,也可充当静态站点引擎生成静态站点应用,具有优雅的代码结构分层和热加载等特性。...组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。

    5.8K20

    SSR再好,也要有优雅降级策略哟~

    采用同构思想的框架:Nuxt.js(基于Vue)、Next.js(基于React)。 ?...2、ssr(服务端渲染)实现方案 使用next.js/nuxt.js的服务端渲染方案 使用node+vue-server-renderer实现vue项目的服务端渲染 使用node+React renderToStaticMarkup.../renderToString实现react项目的服务端渲染 使用模板引擎来实现ssr(比如ejs, jade, pug等) 我所在的部门采用得基于vue的Nuxt框架来实现ssr同构渲染,但是Nuxt...部分代码 在该文件中,可以根据请求url参数、err异常错误、获取全局配置文件等方式,判断是否执行SSR的renderToString方法构建Html字符串,还是降级为CSR直接返回SPA Html...matchedComponents.length) { reject({ code: 404 }) } // 执行匹配组件中的asyncData Promise.all

    4.9K20
    领券