所有分类
  • 所有分类
  • 后端开发
Vue SSR技巧大揭秘!速度飞快、SEO优化无忧,一网打尽

Vue SSR技巧大揭秘!速度飞快、SEO优化无忧,一网打尽

二、如何使用Vue实现通用SSR?下面我们来一步步介绍如何使用Vue实现通用SSR。此时,我们就成功地使用Vue实现了通用SSR。在使用Vue实现通用SSR后,要想实现SEO优化,需要注意以下几点。在本文中,我们介绍了如何使用Vue实现通用

前端技术现在真的很热,应用多得让人眼花缭乱!我们对于网页的速度和互动体验的需求也越来越高!另外,关注搜索引擎优化也是个热门话题,Vue怎么样才能实现服务器端渲染,以及如何做到好的SEO优化,都是关键问题!接下来让我一步步跟你解释清楚这些小窍门儿~

什么是SSR?

告诉你,咱们的服务器能自己快速生成HTML网页发给浏览器,速度飞快,还特容易让搜索引擎找到。别看这些网页好像旧版的就不对它们感兴趣了,其实全是精心设计过的,很实用、也很好看!至于那个通用SSR嘛就是说,先在服务器端完整生成静态网页,然后再压缩成动态应用程序,这样你的网页既快速又好看,还有很多有趣实用的互动功能呢~

Vue官方提供的SSR模板工程

vue create my-project

我在vue官方网站上发现了一个超好用的Webpack SSR模板!用它能让你轻松搭建起vue SSR应用,真的很棒!

如何使用Vue实现通用SSR?

npm install vue-server-renderer webpack-node-externals --save

首先,得装个Vue CLI这个软件,这玩意儿能帮咱们建立新项目省事儿多了!接下来就按照提示配置好vue-server-renderer和webpack-node-externals这俩插件,这样项目就能顺畅运行!再往项目中添加entry-server.js和entry-client.js这两份文件,它们就负责在服务端和客户端工作。然后就是修一下那个超级重要的vue.config.js文件,填入服务器和浏览器入口文件的地址。最后别忘了做点儿后备工作,例如再建几个app.js之类的文件,方便管理Vue实例、路由、状态什么的就好了!

启动开发环境

const VueSSRServerPlugin = require('vue-server-renderer/server-plugin')
const VueSSRClientPlugin = require('vue-server-renderer/client-plugin')
const nodeExternals = require('webpack-node-externals')
const TARGET_NODE = process.env.WEBPACK_TARGET === 'node'
const target = TARGET_NODE ? 'server' : 'client'
module.exports = {
  css: {
    extract: false
  },
  outputDir: './dist/' + target,
  configureWebpack: () => ({
    entry: `./src/entry-${target}.js`,
    devtool: 'source-map',
    target: TARGET_NODE ? 'node' : 'web',
    node: TARGET_NODE ? undefined : false,
    output: {
      libraryTarget: TARGET_NODE ? 'commonjs2' : undefined
    },
    optimization: {
      splitChunks: TARGET_NODE ? false : undefined
    },
    externals: TARGET_NODE ? nodeExternals({
      allowlist: [/.css$/]
    }) : undefined,
    plugins: [
      TARGET_NODE ? new VueSSRServerPlugin() : new VueSSRClientPlugin()
    ]
  }),
  chainWebpack: config => {
    config.module
      .rule('vue')
      .use('vue-loader')
      .tap(options => {
        options.optimizeSSR = false
        return options
      })
  }
}

搞定前面那步,快来搞搞你的开发环境!打开浏览器,输个设定好的端口号码,就能看到 Vue3 炫酷的 SSR 效果!

import { createApp } from './app'
export default context => {
  return new Promise((resolve, reject) => {
    const { app, router, store } = createApp()
    router.push(context.url)
    router.onReady(() => {
      const matchedComponents = router.getMatchedComponents()
      if (!matchedComponents.length) {
        return reject({ code: 404 })
      }
      Promise.all(matchedComponents.map(Component => {
        if (Component.asyncData) {
          return Component.asyncData({
            store,
            route: router.currentRoute
          })
        }
      })).then(() => {
        context.state = store.state
        resolve(app)
      }).catch(reject)
    }, reject)
  })
}

如何进行SEO优化?

Vue SSR技巧大揭秘!速度飞快、SEO优化无忧,一网打尽

import { createApp } from './app'
const { app, router, store } = createApp()
router.onReady(() => {
  if (window.__INITIAL_STATE__) {
    store.replaceState(window.__INITIAL_STATE__)
  }
  app.$mount('#app')
})

搜狗对于你网站的META标签信息挺重视的,比如关键词,主页描述啥的。那我们用Vue咋整?用它的服务器渲染功能,加入META标签就成了。编程阶段搞定这些准备事项,上线就能用起来,搜狗也能在搜素窗口找到咱们网站~

利用Meta标签进行SEO优化

import Vue from 'vue'
import App from './App.vue'
import { createRouter } from './router'
import { createStore } from './store'
Vue.config.productionTip = false
export function createApp() {
  const router = createRouter()
  const store = createStore()
  const app = new Vue({
    router,
    store,
    render: h => h(App)
  })
  return { app, router, store }
}

兄弟,我们要加个Meta标签在entry-server.js里面。还有,记得把Vue模板也放进web上哈。这样,搜引擎就知道咱们网站是干嘛的!关键字优化和页面描述这些东西都是SEO的小技巧呢~

npm run serve

预渲染优化

npm run build

这款叫prerender-spa-plugin的软件超赞!它能帮你预加载网页内容,省去了等待时间等得心焦的小伙伴们一定会爱死这功能!

结合结构化数据

npm run start

告诉搜索引擎你网页的内容就跟和人分享小秘密似的,让它更懂我们。然后,它就能给我们提供更符合心意的有用信息!

这个小技巧就是教你如何用Vue搞定服务器渲染和搜索引擎优化,这样做能增强网站速度,让大家更快地找到你想要的信息。有了这两招儿,你的网站在网上会更受欢迎,同时也会吸引更多人主动关注你分享的好东西!

原文链接:https://www.icz.com/technicalinformation/web/2024/04/14476.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?