Nuxt3项目实现 OG:Image

2024-06-01 09:12
文章标签 实现 项目 image nuxt3 og

本文主要是介绍Nuxt3项目实现 OG:Image,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

目录

前言

1、安装

2、设置网站 URL

3、启用 Nuxt DevTools

4、创建您的第一个Og:Image

a. 定义OG镜像

b. 查看您的Og:Image

5、自定义NuxtSeo模板

a. 定义 NuxtSeo模板

b. 使用其他可用的社区模板

6、创建自己的模板

a. 定义组件 BlogPost.vue

b. 使用新模板

c. 传递可组合对象自定义

d. 放置图片


前言

首先来一张未配置Og:image的 devtools 效果图

 

要实现的效果


1、安装

npx nuxi@latest module add og-image

 

2、设置网站 URL

# nuxt.config.ts
export default defineNuxtConfig({site: {// production URLurl: 'https://example.com',},
})

或者更新 .env 

NUXT_PUBLIC_SITE_URL=https://example.com

3、启用 Nuxt DevTools

export default defineNuxtConfig({devtools: { enabled: true },
})

4、创建您的第一个Og:Image

a. 定义OG镜像

首先,我们将使用仅限服务器的可组合对象来定义我们的主页。

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('NuxtSeo')
</script>

 

b. 查看您的OG:Image

i.访问浏览器中的主页并打开 Nuxt DevTools。

 

ii.快捷键:Shift + Alt + D

iii.进入 Nuxt DevTools 后,可以通过打开命令面板并键入来导航到OG Image选项卡或快捷键 Ctrl + K 输入 og,选择OG Image:

iiii. 您现在应该看到的 OG 图像预览:

5、自定义NuxtSeo模板

a. 定义 NuxtSeo模板

i.在你的主要页面添加代码:

# pages/index.vue
defineOgImageComponent("NuxtSeo", {title: "Hello OG Image 👋",description: "Look what at me in dark mode",theme: "#ff0000",colorMode: "dark"
});

ii.点击刷新之后,你将会看到这样的图像:

到这里,恭喜,您已经设置并自定义了您的第一个 og:image !

b. 使用其他可用的社区模板

i.在你的主要页面添加代码:

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('Nuxt', {headline: 'Greetings',title: 'Hello OG Image 👋',description: 'Look what at me using the Nuxt template',
})
</script>

ii. 点击刷新按钮 ,你将看到这样图像:

6、创建自己的模板

a. 定义组件 BlogPost.vue

代码中用到了 tailwindcss ,如果没安装可以翻看我之前的文章。http://t.csdnimg.cn/F35TG

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{title?: string
}>(), {title: 'title',
})
</script><template><div class="h-full w-full flex items-start justify-start border-solid border-blue-500 border-[12px] bg-gray-50"><div class="flex items-start justify-start h-full"><div class="flex flex-col justify-between w-full h-full"><h1 class="text-[80px] p-20 font-black text-left">{{ title }}</h1><p class="text-2xl pb-10 px-20 font-bold mb-0">mycoolsite.com</p></div></div></div>
</template>

b. 使用新模板

i.在你的主要页面添加代码:

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('BlogPost', {title: 'Is this thing on?'
})
</script>

ii. 点击刷新按钮 ,你将看到这样图像:

c. 传递可组合对象自定义

i.更新你的自定义图像组件代码:

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{title?: stringborderColor?: string
}>(), {title: 'title',borderColor: 'blue-500'
})
</script><template><div :class="[`border-${borderColor}`]" class="h-full w-full flex items-start justify-start border-solid border-[12px] bg-gray-50"><div class="flex items-start justify-start h-full"><div class="flex flex-col justify-between w-full h-full"><h1 class="text-[80px] p-20 font-black text-left">{{ title }}</h1><p class="text-2xl pb-10 px-20 font-bold mb-0">mycoolsite.com</p></div></div></div>
</template>

ii. 更新你主页面代码

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('BlogPost', {title: 'Is this thing on?',borderColor: 'green-300',
})
</script>

iii. 点击刷新按钮,你将看到这样图像:

边框由原来的蓝色变成绿色。

 

d. 放置图片

i. 更新主页面代码

# pages/index.vue
defineOgImageComponent("BlogPost", {img: `${imgStaticBase}/frontend.jpg`,borderColor: ""
});

ii. 更新组件代码

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{img?: string;borderColor?: string;}>(),{img: "",borderColor: ""}
);
</script><template><div:class="[`border-${borderColor}`]"class="flex h-full w-full items-start justify-start border-[12px] border-solid bg-gray-50"><div class="flex h-full items-start justify-start"><div class="flex h-full w-full flex-col items-center justify-between"><img class="w-screen object-cover" :src="img" /></div></div></div>
</template>

这里预留边框看自己需要。

 

iii. 刷新后你将看到这样的效果


这篇关于Nuxt3项目实现 OG:Image的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020585

相关文章

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.