美文网首页
vue ssr笔记

vue ssr笔记

作者: 瓢鳍小虾虎 | 来源:发表于2021-10-01 13:31 被阅读0次

bsr:浏览器渲染
ssr:服务端渲染。更好的seo(特别是有些信息平台类的站点,更需要被搜索引擎优先搜到);更好的内容获取速度(少了页面首屏多次ajax请求动态拉取数据并渲染的时间)
vue框架:nuxt

路由

不需要配置路由,pages目录下的vue文件就代表一级路由标签即可,然后在跟组件上加入<nuxt/>,类似于单页面的<router-view/>

声明式导航

使用<nuxt-link/>,类似于单页面的<router-link/>

嵌套路由

父路由组件上面用<nuxt-child/>,也是个组件容器,然后创建父组件同名目录,内部放子组件。

重定向

配置nuxt.config.js



或者编写中间件



然后需要在router配置文件上面配置middleware:['yourRedirectFileName']

视图

本质还是组件
组件默认加载的是layout目录下的default.vue文件,可以在路由组件上配置layout属性,指向指定的layout组件文件名


动态获取数据

ssr和bsr的获取数据时机是不一样的。ssr会在vue解析模板之前就把数据准备好,一次渲染完成;而bsr一般是mounted回调再调ajax去拉取数据,然后重新渲染组件。

nuxt为vue组件提供了asyncData配置项,用来拉取数据。


反向代理
用户请求页面的时候请求会在后端完成,然后返回最终模板;如果是用户路由跳转,没有触发浏览器默认的xhr请求,请求是在浏览器(客户端)发送的。

由此会引发另一个问题:浏览器上请求会出现跨域问题。

因此需要服务端配置好反向代理:

npm -i @nuxtjs/axios -D // 这个应该不用手动装,脚手架应该装好了
npm -i @nuxtjs/proxy -D

在nuxtjs.config.js中添加axios和proxy模块,并配置反向代理

{
  modules: {
    '@nuxtjs/axios',
    '@nuxtjs/proxy'
  },
  axios: {
    proxy: true
  },
  proxy: {
    '/api': {
      target: 'http://xxx.com',
      pathRewrite: {
        '^/api': ''
      },
      changeOrigin: true
    }
  }
}

还有一点要注意的是,组件内axios请求的地址配置要调整:

url: process.server ? 'http://xxx.com/api/aaa' : '/api/aaa'

process.server是一个全局变量,用来标识当前环境是不是服务端

第三方组件库(element ui为例)
配置nuxt.config.js

{
  css: ['element-ui/lib/theme-chalk/index.css'],
  plugins: [
    '@/plugins/element-ui'
  ]
}

相关文章

  • VUE SSR

    VUE SSR 官方文档: Vue SSR 指南 一、什么是SSR, 为什么要做SSR 什么是SSRVue.js ...

  • vue ssr笔记

    bsr:浏览器渲染ssr:服务端渲染。更好的seo(特别是有些信息平台类的站点,更需要被搜索引擎优先搜到);更好的...

  • 详解Vue SSR服务端渲染

    Vue SSR介绍[https://ssr.vuejs.org/zh/] SSR Github Demo[http...

  • 使用 Vue SSR 渲染一个 Vue 实例

    Vue SSR 介绍 官方文档:https://ssr.vuejs.org/[https://ssr.vuejs....

  • 本期小结(二)

    vue★ vue-ssr服务端渲染简单例子 vue-ssr服务端渲染框架Nuxt.js vue2.0仿饿了么web...

  • SSR介绍-2: 传统SSR实现

    此篇文章将结合vue来简单介绍如何实现传统的SSR,为后续实现现今流行的SSR打个基础。参考vue ssr官网:h...

  • Vue SSR 学习笔记

    什么是服务器端渲染(SSR)? Vue.js是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出Vue组件...

  • Vue SSR 学习笔记

    这是一篇各处抄来的流水账 为什么ssr ssr目的从来不是争论的焦点:SEO & 首屏加载时间SEO很容易理解,全...

  • vue-ssr问题

    https://github.com/zhengchao627/vue-ssr 郑超组配的ssr https:/...

  • vue服务器端渲染

    资料 vue-ssr nuxt.js nuxt github

网友评论

      本文标题:vue ssr笔记

      本文链接:https://www.haomeiwen.com/subject/eotunltx.html