Wish today!!!
关于我为什么一上来就要说这句话!
这个事还得从很久很久以前说起。

那天我看到一只鸡穿着背带裤打着… 呸。。。 不好意思,说错了。

这事还是因为某天,我使用Vue3的版本做了个小商场网站。

后来上线后,才发现没有被baidu收录!

这意味着,没有收录后,用户就不能从百度搜到我的网站。

后来查到vue有个预渲染这个插件,就是prerender-spa-plugin

后来在网山查找了大量文章,都是vue2的,用不了我的vue3,甚至还有的标题写着vue3配置prerender-spa-plugin的,打开内容是vue2的文章,真实太可气了!!

有的还需要fq去下载谷歌的无头浏览器headless

无意中找到了一篇文章https://blog.csdn.net/weixin_51357044/article/details/126516287解决了vue3的问题。

解决问题

一行命令,一个配置就解决此问题了。

npm i prerender-spa-plugin-next --save

vue.config.js

const { defineConfig } = require('@vue/cli-service')// vue.config.js
const path = require("path");
// 预渲染
const PrerenderSPAPlugin = require('prerender-spa-plugin-next');module.exports = defineConfig({transpileDependencies: true,//关闭语法检测lintOnSave: false,// prerender-spa-plugin-next预渲染configureWebpack: {plugins: [new PrerenderSPAPlugin({// 需要预渲染的页面,跟router路由一致routes: [ '/', '/test' ],})]}})

vue3在路由里面需要设置

const router = createRouter({// 这里跟Vue2不一样!Vue2这里要改成 mode:‘history’,但是!Vue3这块是这样用的。history:createWebHistory(),routes
})

编译后的vue文件目录

每个页面都有编译好的html代码



还可以路由传值

完整的配置

index.vue

<template><div>首页</div>
</template><script>
</script><style scoped></style>

test.vue

<template><div>第2个页面,测试页{{this.$route.params.name == null ? '' : ',你好穿个参数,我的名字叫:'+this.$route.params.name}}</div>
</template><script></script><style scoped></style>

router.js

// 引入路由,相关说明如下
// createWebHashHistory:url地址栏有#/号
// createWebHistory:url地址栏没有#/号
import {createRouter, createWebHashHistory, createWebHistory} from 'vue-router'const routes = [{path: '/',name: 'index',component: () => import('@/views/index/index')},{path: '/test',name: 'test',component: () => import('@/views/test/test')},{path: '/test/:name',name: 'test-name',component: () => import('@/views/test/test')}
]const router = createRouter({// 这里跟Vue2不一样!Vue2这里要改成 mode:‘history’,但是!Vue3这块是这样用的。history:createWebHistory(),routes
})export default router

main.js

import { createApp } from 'vue'
import App from './App.vue'
import router from '@/router'createApp(App).use(router).mount('#app')

vue.config.js

const { defineConfig } = require('@vue/cli-service')// vue.config.js
const path = require("path");
// 预渲染
const PrerenderSPAPlugin = require('prerender-spa-plugin-next');module.exports = defineConfig({transpileDependencies: true,//关闭语法检测lintOnSave: false,// prerender-spa-plugin-next预渲染configureWebpack: {plugins: [new PrerenderSPAPlugin({// 需要预渲染的页面,跟router路由一致routes: [ '/', '/test' ],})]}})


参考文章:https://blog.csdn.net/weixin_51357044/article/details/126516287

Vue 3配置prerender-spa-plugin 预渲染(优化页面SEO)【亲测简单】相关推荐

  1. Prerender预渲染优化SEO

    单页面应用的主要内容都依赖于JS的执行,当其首页面下载下来的时候,其实不是完整的页面,而是HTML + JS文件,浏览器提供执行环境于是页面被渲染了出来.用户在访问的时候体验会很好,但是对于搜索引擎的 ...

  2. Dns-prefetch DNS 预解析优化页面加载速度

    Dns-prefetch DNS 预解析优化页面加载速度 浏览器访问一个链接时并不是直接将请求到网页对应的服务器上,而是先要做域名解析--将域名解析到网页对应的服务器 ip 地址,然后浏览器才能和服务 ...

  3. vue项目利用预渲染prerender-spa-plugin处理seo --viga

    vue项目利用预渲染处理seo 写在前面 什么是SEO? SEO是英文 Search Engine Optimization 的缩写,中文意思"搜索引擎优化".SEO是指在了解搜索 ...

  4. vue 预渲染 (进行SEO优化)

    优点: 获取服务端渲染的优点 对特定的路由生成HTML文件,作为一个完全静态的站点 无需使用服务器进行配置,方便网络爬虫进行推广网站 官网:vue-cli-plugin-prerender-spa - ...

  5. Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)

    转至 http://blog.csdn.net/ccf19881030/article/details/9204801   写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以 ...

  6. Tomcat安装及配置教程(超详细的图文教程)(亲测)

    Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...

  7. 全局vue中修改字体样式 苹方字体 微软雅黑 亲测可用

    1.下载所需要的字体,.ttf格式本文以(PingFang.ttf 为例) 底下将会附加苹果方体-简易黑体 PINGFANG MEDIUM.tff 可自行下载其他字体样式,全局引用,方便快捷. 2.在 ...

  8. 【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用

    // 下载blob文件流(暂不支持手机H5唤起下载文件!!!) downloadFile(res: any, fileName: any = '未命名', format: any = '.xlsx') ...

  9. springboot log4j2.yml 配置日志文件自动过期(只保留7天) 亲测可以!

    问题 线上出了一个奇怪的bug,上传文件部分请求出现500错误 同一个文件上传,部分请求会出现500错误,部分返回正确的图片地址. 环境:20台服务器的集群,Java jar程序 经过排查发现是磁盘满 ...

最新文章

  1. 浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLa
  2. 前端进阶(二)webpack开发服务器环境配置
  3. webpack简单配置
  4. windows隐藏python运行时的终端
  5. java学习(160):interrupt方法
  6. REVERSE-COMPETITION-0xGame2021
  7. C#LeetCode刷题-图
  8. MutualNet:一种“宽度-输入分辨率”互相学习的网络轻量化方法
  9. idea占用cpu过高_生产环境服务器变慢、CPU占用过高,诊断思路和性能评估谈谈?...
  10. java零碎要点---struts2中redirect和redirectAction的区别
  11. python接口自动化(六)--发送get请求接口(详解)
  12. opencv裁剪图片_前端智能化实践——从图片识别UI样式
  13. JavaScript 代码的加入
  14. loop在python中什么意思_在python中使用loop打开多个文件
  15. 加密算法实现数据通讯
  16. c语言鸡兔同笼的程序,C语言:鸡兔同笼问题
  17. 基于python的百度离线地图下载器
  18. Windows右键菜单
  19. 如何在视频中加水印?分享这些实用的加水印方法给你
  20. 记:一次意外JTAG使用引发对于STM32内核的了解

热门文章

  1. 福昕阅读器多窗口/标签 打开同一个pdf文件
  2. 兽医牙科设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. android 中添加 Google Play Game Services 功能 1
  4. python正则匹配ip地址_IP地址正则表达式匹配方法,ip正则表达式匹配
  5. 红外对射探测器基础知识
  6. ArxGIS 利用Samples工具箱实现点转面
  7. 小型机房监控管理系统!
  8. 具体数学笔记 第3章高德纳数的证明与取模二元运算
  9. 数据分析思维分析方法和业务知识——分析方法(一)
  10. vivado+zedboard之音频分析仪_HW