初识Nuxt

236 阅读1分钟

image.png

什么是Nuxt?

Nuxt.js 是一个基于 Vue.js 的通用应用框架。

通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI 渲染。

为什么要学习Nuxt?

解决问题:vue-cli存在的一些问题

SEO:搜索引擎优化

  • 多页面应用
  • title,内容,关键字
  • 网站内容的爬取

解决方法一:预渲染

A>解决多页面应用:

1.下载插件 prerender-spa-plugin

npm install prerender-spa-plugin -S

2.vue.config.js进行配置

module.exports={
    configureWebpack:{
      plugins:[
        new PrerenderSPAPlugin({
          staticDir:path.join(_dirname,'dist'),
          //配置路由的页面
          routes:[
            '/',
            '/about',
            '/contact',
          ]
        })
      ]
    }
  }

B>解决title、关键字

1.下载 meta-info

npm install vue-meta-info -S

2.main.js引入

import metaInfo from ‘vue-meta-info’

app.use(metaInfo)

3.页面配置

<template>
    <div>

    </div>
</template>

<script >
export default {
    metaInfo: {
      title: 'My Example App', // set a title
      meta: [   // set meta
        {                
            name: 'keyWords',
            content: 'My Example App'
        },
        {
            name: 'description',
            content: '这是一段网页的描述'
         }
      ]
      link: [{                 // set link
            rel: 'asstes',
            href: 'https://assets-cdn.github.com/'
      }]
    }
  }


</script>

<style scoped>

</style>

解决的问题:

  • 打包多个页面
  • 每个页面单独生成title描述关键字【vue-meta-info】
  • 接口数据是在html生成之前就放在页面上的,爬虫可以抓取到内容

预渲染存在的问题:

  • 预渲染无法配置动态路由
  • title描述关键字词来自于接口数据,配置到meta-info也是不行的

适合做什么项目:一个项目可能某几个页面需要SEO


解决方法二:服务端渲染(SSR渲染,采用Nuxt框架技术)

过程(请求两个服务端):Nuxt将服务器返回的数据渲染好html后再返回给浏览器