SEO方案尝试--Nuxtjs项目基础配置

2023-09-21 14:48:52

安装nuxtjs 最新版 Nuxt3 参考官网安装

安装插件

安装ElementPlus

  1. 安装 Element Plus 和图标库

    # 首先,使用以下命令安装 Element Plus 和它的图标库:
    	pnpm install element-plus 
    	pnpm install @element-plus/icons-vue
    
  2. 安装 Nuxt Element Plus 模块

    	pnpm i @element-plus/nuxt -D
    
  3. 配置 Nuxt 项目

     在 nuxt.config.ts 文件中进行配置,添加 Element Plus 模块和 CSS 样式:
    
    	import { defineNuxtConfig } from 'nuxt3'
    
    	export default defineNuxtConfig({
    		devtools: { enabled: true },
    		modules: [
    		'@element-plus/nuxt'
    		]
    	})
    

页面怎么跳转,路由怎么实现

Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。
这是官方原话,也就是说,你不用像传统的vue项目那样,创建router.js 这个文件了。相反,需要注意根目录下这个pages的文件结构。因为Nuxt是根据pages的目录结构自动生成路由文件的。

注意, pages 需要放在项目根目录!!!

在这里插入图片描述

  1. app.vue 这个文件里可以简单放一个 <NuxtPage> 标签,这个标签是nuxt3内置的标签,相当于vue3中的router-view,就是通过路由去渲染的组件内容。

    <template>
      <div>
        <NuxtPage></NuxtPage>
      </div>
    </template>
    
    
  2. 路由传值
    文件名格式按照约定写就可,detail-[参数].vue
    接受的话,在该页面中通过以下代码获取:

    <template>
    	<div>
    		artical
    		{{  $route.params.id  }}
      </div>
    </template>	
    
  3. 路由验证

    • 通过在页面(page)中的definePageMeta中的validate属性来实现路由验证。
    • validate属性以route为参数。返回的boolean值就决定了当前路由是否会在此页面中渲染显示。
    • 如果你返回false,并且也没有其它路由匹配规则与之相匹配的话,就会导致404的错误。
    • 你也可以直接返回一个包含了statusCode/statusMessage的对象,来立即返回一个错误(这种情况下,其它路由匹配规则就不会判断了) 。

    原文:
    The validate property accepts the route as an argument. You can return a boolean value to determine whether or not this is a valid route to be rendered with this page. If you return false, and another match can’t be found, this will cause a 404 error. You can also directly return an object with statusCode/statusMessage to respond immediately with an error (other matches will not be checked).

    	<template>
    		  <div>
    		      {{  $route.params.id  }}
    		  </div>
    	</template>			
    	<script setup>
    		definePageMeta({
    		  validate: async (route) => {
    		    const nuxtApp = useNuxtApp()
    		    console.log(123, route)
    		    return /^\d+$/.test(route.params.id)
    		  }
    		})
    	</script>
    

routeing 配置原文地址 https://nuxt.com/docs/getting-started/routing

404页面该怎么配置

对于 Nuxt 3,您需要将其保存在根文件夹中的 app.vue 文件旁边。正如文档所说:

You can customize this error page by adding ~/error.vue in the source directory of your application, alongside app.vue. This page has a single prop - error which contains an error for you to handle.

也就是说在项目根目录下写个 error.vue 页面,页面找不到的时候将重定向至error页面。

配置 网页的title

  1. 全体配置(nuxt.config.ts 文件中进行配置)
// https://nuxt.com/docs/api/configuration/nuxt-config
	export default defineNuxtConfig({
	  app: {
	    head: {
	      title: '初尝试Nuxt3',
	      charset: 'utf-8',
	      viewport: 'width=device-width, initial-scale=1',
	    }
	  },
	  devtools: { enabled: true },
	
	  modules: [
	    '@element-plus/nuxt'
	  ]
	})

  1. 具体某页面配置
	<script setup> 
	useHead({
	  title: 'artical页面',
	  meta: [
	    { name: 'description', content: 'My amazing site.' }
	  ],
	  bodyAttrs: {
	    class: 'test'
	  },
	  script: [ { innerHTML: 'console.log(\'Hello world\')' } ]
	})

	//...
	</script>

官网还有很多 。。。
https://nuxt.com/docs/getting-started/seo-meta

useSeoMetauseServerSeoMeta (这个知识点目前还没看明白…)

The useSeoMeta and useServerSeoMeta composables let you define your site’s SEO meta tags as a flat object with full TypeScript support.

这句话的意思是,useSeoMetauseServerSeoMeta 这两个组合式函数能够让你将网站的 SEO 元标记定义为一个扁平的对象,并且提供完整的 TypeScript 支持。

也就是说,通过使用这两个函数,你可以以更简洁和直观的方式定义和管理你网站的 SEO 元标记。你只需要将 SEO 元标记的信息放入一个普通的 JavaScript 对象中,而不需要复杂的数据结构或类。同时,这些函数还能够提供 TypeScript 的类型检查,确保你在设置 SEO 元标记时的类型安全性。

这样的设计使得在应用程序中操作和传递 SEO 元标记变得更加方便和一致。你可以在服务器端使用 useServerSeoMeta 来设置初始的 SEO 元标记,然后在客户端使用 useSeoMeta 来响应式地获取和更新这些 SEO 元标记。

总之,通过这两个组合式函数,你可以以一种直观、简洁和类型安全的方式处理网站的 SEO 元标记,从而提升你网站的搜索引擎优化效果。

更多推荐

FPGA project : DS18B20

本想着一天发一个实验的,这个ds18b20,耗时两天。代码写了两次,呜呜~由于第二次写代码没画时序图,所以代码和时序图一些参数有些不一致,但问题不大。这里有几件事情值得一提:1:关于状态机的编写,我觉得还是三段式比较好。2:关于生成其他时钟信号,用来做触发边沿。我不喜欢用这种方法(提一个概念“全局时钟网络”)。所以用产

heic图片如何转为jpg格式

&nbsp;&nbsp;heic图片如何转为jpg格式?现阶段,在技术水平不断完善的基础上,图片质量越来越好了,且图片数量也越来越多。图片内容不断丰富,导致图片格式愈发多样化。为了能够保证图片的有效应用,我们有的时候需要将图片格式进行转换。例如,我们可能会遇到将HEIC格式转换为JPG格式的问题,提高图片的利用率。在进

Hive部署,hive客户端

1、Hive部署Hive是分布式运行的框架还是单机运行的?Hive是单机工具,只需要部署在一台服务器即可。Hive虽然是单机的,但是它可以提交分布式运行的MapReduce程序运行。1.1、规划我们知道Hive是单机工具后,就需要准备一台服务器供Hive使用即可。同时Hive需要使用元数据服务,即需要提供一个关系型数据

FPGA板卡启动以及LED灯带调试

环境配置软件:MobaXterm(free版本即可)下载教程参考:MobaXterm(终端工具)下载&安装&使用教程_蜗牛也不慢......的博客-CSDN博客Win32Disklmager下载教程参考:不分类工具:Win32DiskImager安装教程_win32disklmager安装教程_月挽的博客-CSDN博客

【计算机网络】——传输层

//图片取自王道,仅做交流学习一、传输层提供的服务物理层、数据链路层、网络层是通信子网。传输层:它属于面向通信部分的最高层,同时也是用户功能的最低层为应用层提供通信服务使用网络层的服务网络层提供主机之间的逻辑通信。1、传输层的功能:1.传输层提供进程和进程之间的逻辑通信(即端到端通信)。网络层提供的主机到主机之间的通信

交叉编译错误:小心符号链接

交叉编译在进行到链接环节时出现找不到库文件的错误,如下:一般来说,链接时出现库查找不到则需要将库路径添加到link_directories或者target_link_directories,这里说查找不到libblas.so.3和liblapack.so.3,那么查找这两个库的路径后发现,这个库路径是实实在在的添加到了

Hadoop知识点之Hadoop发展历程

一、Hadoop名字的起源Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,DougCutting如此解释Hadoop:这个名字是我孩子给一头吃饱了的棕黄色大象命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。Googol就是由小孩命名的。二、H

spring-boot---validation,参数校验,分组,嵌套,各种类型

写在前面:参数校验基本上是controller必做的事情,毕竟前端传过来的一切都不可信。但是每次if(StrUtil.isNotNull())啥的有时候多还难写。validation可以简化这一操作。文章目录项目构建问题展示validation使用快速入门注释Valid与Validated区别使用范围分组嵌套验证项目构

基于微信小程序的实验室预约管理系统设计与实现

前言💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗👇🏻精彩专栏推荐订阅👇🏻2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选

python/C++二分查找库函数(lower_bound() 、upper_bound,bisect_left,bisect_right)

二分查找是一种经典的搜索算法,广泛应用于有序数据集中。它允许在大型数据集中高效地查找目标元素,减少了搜索的时间复杂度。本文将介绍在C++和Python中内置的二分查找函数,让二分查找变得更加容易。c++lower_bound()、upper_bound定义在<algorithm>头文件中,lower_bound和upp

大数据分布式处理框架Hadoop

大数据是什么大数据容量常以TB、PB、甚至EB为单位,远超传统数据库的承载能力,无论入库还是查询都出现性能瓶颈。Hadoop是什么Hadoop是开源的分布式计算技术框架,用于处理大规模数据和实现分布式存储。Hadoop核心组件HDFS(HadoopDistributedFileSystem分布式文件系统):是Hadoo

热文推荐